Passer au contenu principal

code. grind. sleep.

Configuration réseau pour virtualiser chez OVH

Sur mon serveur chez OVH, j’ai un ensemble de machines virtuelles KVM et (bientôt) de conteneurs LXC. Pour fournir du réseau à tout ce petit monde, j’utilise de l’IPv4 et de l’IPv6, voici comment c’est configuré. Pour l’IPv4, on a un nombre limité d’IP publiques parce que ça vaut de la thune et que ça va être de plus en tendu de multiplier les adresses, il nous faut un réseau privé (beurk), du NAT (rebeurk) et des redirections à base d’iptables (re-rebeurk).

Rediriger stdout/stderr depuis un script avec du pipe

Pour rediriger stdout/stderr à l’interieur vers l’entrée standard d’un commande, il faut utiliser exec et du sous-shell. Cette astuce est un bashisme a priori. L’objectif est de renvoyer tous les messages du script dans syslog sans mettre de redirection sur la ligne de commande. Le principe général est : exec FD> >(COMMAND) FD est le numéro du file descriptor, 1 pour stdout, 2 pour stderr COMMAND est la commande a exécuter, elle doit bien sûr lire les données en entrée.

Combiner des PDF en un seul

Pour combiner des pdf en un seul, on peut essayer pdfjoin fournit par le projet pdfjam. En attendant que les 250 Mo de dépendances (Latex principalement) s’installent, on peut utiliser ghostscript : gs -sDEVICE=pdfwrite -dNOPAUSE -dQUIET -dBATCH -sOutputFile=../combined_doc.pdf *.pdf Merci à perlmonks.org.

Insérer des tabulations dans sa ligne de commande bash

Il y a longtemps que je me demandais comment faire ça, sans prendre la peine de rechercher ou lire le man. C’est chose faite, pour insérer une tabulation, il faut contourner la complétion de commandes avec le combo suivant : C-v TAB C’est simple, mais ça ne s’invente pas. Pour le coup, c’est utile quand on veut voir un fichier de configuration sans les commentaires, par exemple postgresql.conf :

pg_class.reltuples n'est qu'une approximation du nombre de lignes

Dans le catalogue de PostgreSQL, qui donne plein d’information sur le cluster et la base de données, la table pg_class regroupe les informations sur les tables, les séquences, les index, tout ce qui contient des colonnes, appelé relation. L’un des champs disponibles est reltuples, il contient le nombre approximatif de lignes dans une relation. C’est approximatif, ainsi ce n’est pas un donnée sure… La preuve par l’exemple.

pkgin adventures - conflit résolu

Il y a quelques jours, il a été décidé de remplacer libungif par giflib dans pkgsrc. Pour éviter de mixer les deux et donc avoir des problèmes, les deux paquets se déclarent mutuellement en conflit. A partir de maintenant la dépendance par défaut est sur giflib, ce qui a donc fait que ma mise à jour (pkg_chk dans un pkg_comp) a tellement buté dessus que j’ai décidé qu’il serait plus simple de repartir d’un chroot pkg_comp tout neuf…

pkgin adventures - utiliser pkgin avec pkgsrc-current

pkgin est un outil de gestion de paquets binaires pour pkgsrc, le système de paquets de NetBSD. Pour pouvoir l’utiliser il faut donc des paquets binaires, sauf que les binaires ne sont officiellement disponibles que pour les releases trimestrielles de pkgsrc. Quand on suit pkgsrc-current, il faut donc compiler les paquets et fabriquer un dépôt.