GNU/Linux
Connection through 'ssh' without password
To enable the connection to a host without password, launch from the machine from where you want to connect : ssh-copy-id [<login>@]<host>
.
Numlock enabled by default
When installing Debian Jessie in a virtual machine, the numlock is disabled by default. To enable it by default, you should do the following :
- Install the numlockx package,
- add
/usr/bin/numlockx on &
to the end of file/etc/X11/xinit/xinitrc
.
Compiling for IA-32 under an AMD64 environment
When compiling for IA-32 under a AMD64 enviroment (by passing the -m32
option to both compiler and linker), the compiler will complain about missing headers. To fix this, install g++-multilib
package.
Fetching informations
OS
uname -a
,lsb_release -a
(package lsb-release, with-
, not_
),cat
…/proc/version
,/etc/issue
,/etc/issue.net
,/etc/*release
,/etc/*version
.
Hardware
http://www.binarytides.com/linux-commands-hardware-info/
lscpu
,lshw -short
,hwinfo --short
,df -h
,free
,cat /proc/
…cpuinfo
,meminfo
,- …
- …
Miscellaneous
- Temperature : with package lm-sensors
sensors
, - frequencies : with package cpufrequtils
cpufreq-info
.
'sudo'
Setting
To give a user same rights as for root through sudo, add a file in /etc/sudoers.d/
with following content :
<user> ALL=(ALL) ALL
where <user>
is the user's login.
visudo
should be used to edit this file, but it's not needed. The content of the created file is immediately take in account by sudo.
Error 'unable to resolve <hostname>'
To avoid this error when sudoing, following conditions must be met (from http://askubuntu.com/questions/59458/error-message-when-i-run-sudo-unable-to-resolve-host-none) :
/etc/hostname
must contain <hostname> (hostname <hostname>
command works only until next reboot),- there must be an entry in
/etc/hosts/
where<hostname>
points to127.0.0.1
.
/etc/hosts
will not survive to a reboot. You should then have a comment at the head of your /etc/hosts
file, which indicates that you have to modify a file in /etc/cloud/templates
, but the given file may not be the correct one. Under Debian, for example, you have to modify hosts.debian.tmpl
file, not hosts.tmpl
.
USB
What follows may only concern ARM architectures ; it was not tested on x86 architectures.
It seems that you have to install the ntfs-3g package before installing the usbmount package, or the NTFS devices will only be read-only.
- To automount USB devices, install usbmount package,
- In order to mount NTFS devices, add
ntfs fuseblk
toFILESYSTEMS
in/etc/usbmount/usbmount.conf
The devices will be accessible under /media/usb…
.
The fdisk -l
command will show if your USB device is recognized (recognized does not means mounted).
Trouble with NTFS devices auto-mounting : https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=774149.
Clock
- To set the correct time from a server (package ntpdate) :
ntpdate <server>
, with<server>
, a NTP server (ntp.ubuntu.com
for example), - to display the hardware clock :
hwclock
, - to synchronize the hardware clock with system clock :
hwclock –systohc
, - to synchronize the system clock with hardware clock :
hwclock –hctosys
.
WiFi
Raspberry Pi/ODROID
For each Wifi network, add following in the /etc/wap_supplicant/wpas_supplicant.conf
network={ ssid="<ssid>" scan_ssid=1 psk="<key>" key_mgmt=<mgmnt> }
Replace the entry with correct values. <mgmnt>
can be something like WPA-PSK
or NONE
(without double-quotes!). scan–ssid
is for hidden network, but should also work for not hidden network. psk
can be omitted when the network is open.
Other
- Install
wpasupplicant
package, - Launch
wpa-passphrass <SSID> <key>
, where<SSID>
is the SSID of the WiFi network, and<key>
, the corresponding key. You should obtain something like :
network={ ssid="<SSID>" #psk="<key>" psk=3a19d8ecd12eff56bbebd67af8e4c14e1b4b5fb1a278f7e5c474ad252853a1d9 }
- in
/etc/network/interfaces
, insert :
auto wlan0 iface wlan0 inet dhcp wpa-ssid <SSID> wpa-scan-ssid 1 # If the SSID id hidden. wpa-psk <psk>
where <SSID>
is the SSID of the WiFi network, and <psk>
the hexadecimal string right of the uncommented above psk=
entry.
- launch
ifup wlan0
.
Hostname
To change hostname :
- Until next reboot :
hostname <name>
(you must logout to see the change), - permanently : modify file
/etc/hostname
.
How to correctly set the hostname to avoid some error messages (for example unable to resolve host …
with sudo): https://askubuntu.com/questions/59458/
Configuring an account to allow backup only
You may want to backup the entire www-data account (which contains the web pages) using scp or rsync, but you get a message like protocol version mismatch – is your shell clean?
. This is because the the shell for this account is a restricted one (probably /usr/sbin/nologin
, as you will see in /etc/passwd
).
To fix this :
- install
rssh
package, - modify
/etc/passwd
so the shell will be/usr/bin/rssh
(bin
, notsbin
) for the desired account, - modify
/etc/rssh.conf
accordingly.
Killing a connection
To kill the a TCP connection without having to stop the corresponding program:
sudo ss -K dst <IP> [dport <port>]
Remote copy with resuming
An alternative to scp
, which allows to resume an interrupted transfer:
rsync --append-verify [--progress] [-e ssh] <src> <dest>
-e ssh
should be the default, but may be useful to add some parameters to ssh (putssh
and its parameters between quotes then),--progress
is to display the progress.
Can be used directly, or after an aborted scp
.