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/hostnamemust 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 fuseblktoFILESYSTEMSin/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.comfor 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
wpasupplicantpackage, - 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
rsshpackage, - modify
/etc/passwdso the shell will be/usr/bin/rssh(bin, notsbin) for the desired account, - modify
/etc/rssh.confaccordingly.
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 sshshould be the default, but may be useful to add some parameters to ssh (putsshand its parameters between quotes then),--progressis to display the progress.
Can be used directly, or after an aborted scp.
