Quelques astuces diverses, douzième

closeCet article a été publié il y a 5 ans 11 mois 21 jours, il est donc possible qu’il ne soit plus à jour. Les informations proposées sont donc peut-être expirées.

Allez, c’est reparti pour une nouvelle collections de petites bricoles qui facilitent la vie de toux ceux qui bricolent 🙂

Compresser à la volée une image disque

Le problème quand on fait une image d’une partition ou d’un disque, c’est qu’il va tout prendre, les un comme les zéro (pour rappel, tout est binaire à la base). Et si y’a beaucoup de zéro, c’est de l’espace gaspillé; si un disque fait 32Go mais seulement 10 sont utilisés, l’image fera tout de même 32Go. Heureusement on a des outils de compression pour ça, et même certains qu’on peut appeler à la volée à l’aide d’un pipe:

Si le temps d’exécution n’est pas un problème pour vous, vous pouvez également utiliser xz qui sera plus performant mais beaucoup plus lent (on pourrait faire un petit comparatif un jour tiens 🙂 )

Rediriger la sortie d’une commande effectuée avec sudo

Le problème de sudo, c’est qu’il n’applique l’élévation de privilège qu’à la commande en cours et pas à d’éventuelles redirections, ce qui peut s’avérer gênant quand on veut écrire dans un dossier sur lequel on a pas les droits. Dans l’astuce précédente, si on veut avoir le droit d’écrire dans /media/disk (parce que oui parfois ça marche pas bien), on peut englober la commande et sa redirection sur une nouvelle instance de bash :

Attention cependant, cette nouvelle « session » ne charge peut-être pas tout l’environnement, dans ce cas, préférez des chemins absolus pour les commandes tapées si elles sont dans des chemins non standards.

Let’s Encrypt, Apache, et directive <Limit>

Un client filtre ses accès préprod par IP avec une directive <Limit> contenant une série d’allow et de deny dans le fichier .htaccess à la racine du site. Pour permettre aux serveurs de Let’s Encrypt de contacter le dossier .well-known afin de valider le challenge, j’ai utilisé mod_setenvif :

Pourquoi pas ajouter les IP Let’s Encrypt ? Parce qu’elles ne sont pas fixes (dixit la FAQ) :

What IP addresses does Let’s Encrypt use to validate my web server?

 

We don’t publish a list of IP addresses we use to validate, because they may change at any time. In the future we may validate from multiple IP addresses at once.

Améliorer les performances wifi sous Linux

A la cité des Sciences, mais je pense que ça peut me servir ailleurs, j’ai eu quelques difficultés avec ma carte wifi qui semblait mal conserver un lien avec le point d’accès. Mon dépanneur de Chromebook (avec qui on l’a cassé, j’en ai parlé récemment dans son démontage) m’a filé une astuce, en lien avec la gestion de l’énergie. Il faut passer par l’utilitaire iw (à installer donc) :

Bon par contre, si vous êtes charrette en batterie ça sera peut-être pas recommandé 🙂

Ajouter un fichier swap pour grossir l’espace existant

En attendant de pouvoir empêcher une application de faire de la merde, et d’améliorer un peu la gestion de la mémoire du noyau, un collègue a ajouté un fichier de swap d’un 1Go en plus de la partition existante. Voici la procédure suivie, en mode administrateur :

Vous devriez voir le résultat en direct sur la taille du swap globale. Et si on veut que ça soit persistant, on peut ajouter la ligne suivante au fichier /etc/fstab :

Evidemment, ne pas utiliser le swap c’est mieux, mais quand vous avez pas le contrôle de l’application, hein…

Tester un cipher suite en particulier avec openssl

Un client nous demande de modifier le paramètre Diffie-Hellman qui plombe ses notes sur les différents tests SSL/TLS. Je fais la modification mais par défaut en testant openssl va prendre un cipher à base de courbes elliptiques, plus récent et mieux noté, donc je vois pas le résultat :

Fort heureusement, openssl est plein de ressources et on peut choisir la « qualité » de connexion 🙂

Docker, exporter une image

Dans le cadre d’un cluster DC/OS, un problème avec la registry du client empêchait un container de se redéployer sur un autre nœud qui ne disposait pas de l’image. Fort heureusement, on a un petit contournement pour ça, si on a accès à un nœud ou l’image est déjà là :

Supprimer le début d’un fichier à partir d’une ligne

J’ai eu à extraire d’un fichier de serveur mail la pièce jointe au format PDF. Dans ce format, la pièce jointe en question est encodée en base64 à la fin du mail. La solution, chercher une ligne de référence à partir de laquelle je conserve tout, et supprime le début. Et on fait ça avec sed :

Un petit vim pour nettoyer quelques lignes superflues, et on peut décoder :

Forcer la coloration syntaxique dans vim

Lors de modifications lourdes apportées à un fichier de configuration Apache pour un client (multiples virtualhosts avec le même tronc de directives), j’ai déporté les règles communes dans un fichier à part et je l’inclus dans les différents vhosts. Pour m’assurer que la bonne coloration syntaxique est appliquée quand je charge ce fichier amputé des directives de bases qui permettent la détection automatique, j’ai ajouté une petite ligne au début du fichier :

Attention aux espaces 🙂 Pour savoir tout ce qu’il est possible de faire, vous pouvez vous manger la doc.

Tiret au début d’un nom de fichier

Il y a des gens comme ça sur terre qu’il faudrait brûler, parmi eux ceux qui me collent un tiret au début du nom d’un fichier. Pourquoi ? Ben le tiret en question est couramment utilisé pour désigner des options de commandes, et ça débouche sur ce genre de message d’erreur à la con sur une palanquée de commandes :

Guillemets simples, doubles, rien n’y fait. Pour contourner, il faut que j’utilise une autre astuce, le chemin :

Deux caractères, une frustration évacuée 🙂


C’est tout pour aujourd’hui, mais je me rend compte d’une chose : j’ai du relire tous les billets précédents pour vérifier que je n’avais pas déjà partagé certaines des astuces présentées ici, et il y a un précédent de doublon. Avec le nombre d’articles qui augmente dans la série, je vais devoir m’organiser pour éviter de perdre du temps et peut-être le votre à l’avenir 🙂

10 Commentaires
Le plus ancien
Le plus récent
Commentaires en ligne
Afficher tous les commentaires
Cascador
Cascador
04/05/2018 20:43

Oh le débutant 😉

mv -- -fichier-pourri.txt fichier-pourri.txt

Tcho !

Shikiryu
04/05/2018 21:24
Répondre à  Cascador

Argh j’étais en train d’écrire la même !

Cascador
Cascador
05/05/2018 09:48
Répondre à  Seboss666

Salute,

J’ai creusé un peu mais rien trouvé. J’ai checké les bugs corrigés sur mv jusqu’en 2012 mais rien qui a attiré mon attention (https://savannah.gnu.org/news/?group=coreutils). Je me suis demandé aussi si c’était pas un alias pourri mais qq tests n’ont rien donné.

Tcho !

gileri
05/05/2018 20:39

Pour créer le fichier swap il y a aussi fallocate qui alloue un fichier « sparse » (vide), ce qui est bien plus rapide et supporté par la plupart des systèmes de fichier :

fallocate -l 1G /swapfile

Mirabellette
06/05/2018 10:11

Super intéressant, merci du partage 🙂

Barbe_drue
Barbe_drue
06/05/2018 14:37

Tu as aussi ripmime pour extraire les pièces jointes d’un email.

ggbnm
ggbnm
07/05/2018 11:54

Pour la compression à la volée, je te conseille d’inclure lbzip2 à ton futur comparatif (bzip2 en parallèle). Il saura utiliser tous les coeurs CPU.

T0m
T0m
20/08/2018 21:49

Bonjour,
Concernant l’astuce de la compression d’une image de disque. As-tu testé avec la commande proposée par Sébastien Sauvage : http://www.sebsauvage.net/links/?DrNtGw ?

Carmelo
14/12/2019 09:46

Merci pour ces astuces 🙂