Trucs et astuces, volume 1
Salut les filles,
Comment ça va bien ? Bon j’ai plus de life en ce moment, peu de temps pour écrire, on va partir sur des trucs et astuces
zcat et zgrep
Avant pour lire un fichier de log compressé, je faisais gzip -d syslog.2.gz
puis cat syslog.2
mais ça c’était avant. Maintenant je fais directement zcat syslog.2.gz
, je me sens tellement mieux ! Si vous faites un petit dpkg -S zcat
sur votre Ubuntu/Debian, vous apprendrez qu’il existe zcat (gzip), xzcat (xz-utils), bzcat (bzip2), elle est pas belle la vie ! Faites un petit dpkg -L gzip
, il existe également zgrep, zless, zdiff…
Effacer le contenu d’un fichier en ligne de commande
Tout le monde procède différemment pour effacer le contenu d’un fichier en ligne de commande. Moi ça donnait echo > ~/Documents/temp.txt
mais l’utilisateur averti remarquera que ça laisse un saut de ligne dans le fichier. J’ai appris que la bonne manière de faire c’est > ~/Documents/temp.txt
.
hgrep
Lorsqu’on passe sa journée dans un terminal, on se sert beaucoup de l’historique. J’ai un alias tout simple qui me suit depuis de nombreuses années alias hgrep='history | grep -i --color=always'
. On le lance ainsi hgrep 'motifrecherché'
, ça va afficher les entrées de l’historique contenant ‘motifrecherché’ en couleurs. Un petit rien finalement très utile. Pour rappel on peut ré-exécuter une commande (par exemple la 128) de l’historique avec !128
.
lsof pour retrouver les fichiers marqués deleted mais qui prennent encore de la place sur le disque
lsof -n | grep /var | grep deleted
sauve des ours polaires (et des sysadmins). Typiquement un fichier de log n’apparaît plus lorsqu’on fait un ls
mais pourtant il prend encore de la place sur le disque, le processus (genre rsyslog) verrouille le fichier qui ne peut pas être « bien » supprimé. Afin que le processus « relâche » ce fichier, il y a plusieurs méthodes dont lui envoyer un signal (pour rsyslog par exemple kill -HUP $(cat /run/rsyslogd.pid)
), relancer le service, tuer le processus.
Firefox et apt-mark
Je regrette les anciennes extensions Firefox et je m’accroche encore désespérément à ma version 56. Afin de marquer un paquet comme « retenu » ce qui empêchera qu’il soit installé, mis à jour ou supprimé automatiquement, on peut faire sudo apt-mark hold firefox firefox-locale-en firefox-locale-fr
. Afin de supprimer l’état hold sudo apt-mark unhold firefox firefox-locale-en firefox-locale-fr
.
pkgs.org
Le site pkgs.org est assez méconnu pourtant il peut s’avérer bien utile. Ce projet vise à fournir la méthode la plus simple de recherche et de téléchargement des dernières versions des packages pour un certain nombre de distribs GNU/Linux. Dans l’absolu il faut toujours privilégier son gestionnaire de paquets mais parfois on cherche à récupérer un paquet qui n’est plus proposé nulle part et qui a des chances d’être encore chez pkgs.org.
Si t’as pas d’amis, prends un curl(y)
On fait des trucs sympas avec curl de nos jours. Parfois je désire savoir où se trouve un client par curiosité ou par nécessité (abus, connaître son fuseau horaire, etc.). A partir de l’adresse IP on peut utiliser le package geoip-bin et la commande geoiplookup 23.66.166.151
mais 1/ Je trouve la sortie ridicule (GeoIP Country Edition: US, United States) et 2/ Il faut installer un paquet. J’utilise maintenant curl ipinfo.io/23.66.166.151
qui donne du json (top) et beaucoup plus d’infos.
curl ipinfo.io/23.66.166.151 { "ip": "23.66.166.151", "hostname": "a23-66-166-151.deploy.static.akamaitechnologies.com", "city": "Cambridge", "region": "Massachusetts", "country": "US", "loc": "42.3626,-71.0843", "org": "AS16625 Akamai Technologies, Inc.", "postal": "02142" }
La révélation du mois c’est curl cheat.sh/tar
qui fournit quelques exemples parlants pour une commande donnée, trouvé grâce à un commentaire sur le Jdh. On peut faire une recherche sur un terme ainsi curl cheat.sh/~print
. Je trouve l’idée géniale ! Voici la version web pour grep : http://cheat.sh/grep. Je vous invite à aller jeter un œil sur GitHub.
Pidgin parce que ça peut servir
On communique via messagerie instantanée (XMPP) au boulot et j’ai choisi Pidgin comme client (dont je ne suis pas satisfait mais c’est une autre histoire). Assez régulièrement les liens ne s’ouvraient pas dans mon navigateur par défaut (Firefox), ça se configure dans Outils > Préférences > Navigateur > Navigateur : Paramètres par défaut du bureau.
Pour info l’historique des conversations se trouvent dans ~/.purple/logs/.
Récupérer le chemin vers un fichier aisément
J’utilise de plus en plus la commande git diff fichier1 fichier2
, je trouve la sortie très claire. Il y en a qui vont crier au scandale mais je fais encore pas mal de choses dans mon navigateur de fichiers (Caja). J’ai découvert par hasard que si on copie un fichier (dans le navigateur de fichiers) puis qu’on colle dans un terminal, ça colle le chemin vers le fichier… on en apprend tous les jours
Debian et Amazon
Pendant un moment je claironnais partout qu’il fallait utiliser http://httpredir.debian.org stable main dans son /etc/apt/sources.list sur Debian, voir l’article de Thuban pour rappel. On apprend sur la page DebianGeoMirror que ce service est discontinued et qu’il en reste un seul deb.debian.org. On peut maintenant utiliser HTTPS (package apt-transport-https nécessaire) en mettant deb https://deb.debian.org/debian stable main
. Le service deb.debian.org est parrainé par Fastly et Amazon CloudFront… moi ça m’a fait tiquer quand même.
Et sinon
Joyeux Noël à tous, bouffez comme des cochons et profitez de vos proches <3