Les petites infos – 8
Tout seul on va plus vite, ensemble on va plus loin. Yeah man !
Déchiffrer les disques sans intervention
Opensource.com est un des gros sites en Anglais à suivre, articles nombreux et de qualité, « supported by Red Hat ». Unlock encrypted disks on Linux automatically présente une solution que je ne connaissais pas : Network-Bound Disk Encryption (NBDE). Elle répond au problème de déchiffrer les disques sans intervention de l’utilisateur au boot.
Je n’utilise pas mais j’ai trouvé l’info et les outils présentés intéressants.
Ctrl-s
Si vous passez du temps dans un terminal, vous avez déjà malencontreusement appuyé sur la combinaison de touches Ctrl et s. Pour parler simplement le terminal freeze, vous tapez sur votre clavier mais rien ne change à l’écran. Pour reprendre la main, il suffit de faire Ctrl et q.
J’ai voulu désactiver cette fonctionnalité, j’ai opté pour ajouter stty -ixon
dans mon .bashrc. Cependant une fois désactivée, l’appui sur Ctrl-s lance forward-search-history (bind -p | grep C-s
) ce qui a tendance à m’emmerder encore plus. Au final j’ai rollback, Ctrl-s peut parfois servir quand on a des tonnes d’infos balancées sur le terminal (pour debug).
scp -3
Deprecating scp est paru début novembre sur LWN.net et fait le constat que scp est dépassé, peu sécurisé, de la daube. En attendant on continue à l’utiliser et j’ai découvert récemment scp -3
: Copies between two remote hosts are transferred through the local host.
En général dans le monde pro on ne peut pas scp d’un serveur à un autre pour des mesures de sécurité, il faut ouvrir le firewall, valider la connexion SSH… pénible. scp -3 server1:/home/toto/file.txt server2:/home/titi/
va faire le job (si vous pouvez vous connecter aux 2 serveurs évidemment).
man en Français
Saviez-vous que les manpages sont disponibles en d’autres langues que l’Anglais ? Personnellement je sudo apt install manpages-fr manpages-fr-dev
(dispo sur Debian Testing mais pas Buster, dispo sur Ubuntu). L’Anglais technique peut parfois être un frein à la compréhension surtout « au démarrage », j’apprécie commencer en lisant dans ma langue natale pour aller ensuite vers l’Anglais plus précis, exact et à jour.
Le gros point négatif des manpages autres qu’Anglais est qu’ils ne sont pas à jour parfois mal traduits. Je maintiens que c’est utile pour certains.
Il faut cependant un moyen rapide et simple de passer du man en Français à l’Anglais. Mon système étant en fr_FR.UTF-8 (locale
), man ls
affichera le man en Français, men ls
en Anglais. J’ai créé l’alias alias men='man -Len'
dans mon .bashrc.
dpkg -S
Souvent on veut savoir de quel paquet provient un fichier et régulièrement je vois utilisé apt-file, un des rares outils que je trouve mauvais voire inutile.
sudo apt install apt-file # Un paquet à installer
sudo apt-file update # Il faut mettre à jour la base
apt-file search -x '/usr/bin/free$' # 5 secondes d'attente, notez la syntaxe simple
dpkg est dispo de base avec l’option -S : Search for a filename from installed packages. Il n’est capable que de faire la relation entre fichiers et paquets installés mais c’est suffisant 9 fois sur 10.
dpkg -S /usr/share/themes/Mint-X-Aqua/gtk-2.0/styles/panel.rc
mint-themes: /usr/share/themes/Mint-X-Aqua/gtk-2.0/styles/panel.rc
dpkg -S /usr/bin/free
procps: /usr/bin/free
Professionnellement je cherche souvent d’où provient un programme, il est pénible de fournir le chemin complet alors je procède ainsi.
dpkg -S $(which free)
procps: /usr/bin/free
Cependant on peut rencontrer.
dpkg -S $(which ls)
dpkg-query: aucun chemin ne correspond à /usr/bin/ls
Lié à UsrMerge, petit rappel pour Debian.
ls -l /bin /sbin /lib*
lrwxrwxrwx 1 root root 7 28 janv. 2020 /bin -> usr/bin
lrwxrwxrwx 1 root root 7 28 janv. 2020 /lib -> usr/lib
lrwxrwxrwx 1 root root 9 28 janv. 2020 /lib32 -> usr/lib32
lrwxrwxrwx 1 root root 9 28 janv. 2020 /lib64 -> usr/lib64
lrwxrwxrwx 1 root root 10 28 janv. 2020 /libx32 -> usr/libx32
lrwxrwxrwx 1 root root 8 28 janv. 2020 /sbin -> usr/sbin
La solution élégante.
dpkg -S $(which -a ls) # Flemme maximale
dpkg-query: aucun chemin ne correspond à /usr/bin/ls
coreutils: /bin/ls
dpkg -S $(which -a ls) 2>/dev/null # Propre mais qu'on ne tapera jamais par flemme
coreutils: /bin/ls
Bref retenez dpkg -S $(which -a ls)
surtout.