Unix

au-to-ma-gic

Au boulot, j’ai élu une solution de déploiement à haute teneur en convivialité qui m’a été suggérée par nico, j’ai nommé fabric. Ce soft à l’utilisation simplissime permet en un tournemain de réaliser des opérations complexes en masse sur une architecture distante en utilisant le protocole SSH. Si la documentation de la plupart des fonctions est clarissime, l’une d’entre elles, qui pourtant me semblait avoir un fort potentiel loutresque, n’était pas très clairement exposée: upload_template.

split vertical et screen

Il y a quelques jours, un collègue m’apprenait l’existence d’un soft basé sur gnome-terminal, terminator, permettant de diviser un terminal horizontalement et verticalement. J’en parle sur #gcu, et on me signifie que screen est capable de splitter verticalement (le split horizontal était implémenté depuis longtemps) dans sa version current, présente dans debian/unstable. Étant d’une nature loutresque, je décidais donc d’ecrire un screenrc spécifique qui démarrerait screen en mode splitté avec 4 fenetres (deux en haut, deux en bas).

Command and conquer

Et tant qu’on est dans les ssheries, connaissez-vous sshmenu applet ? J’ai découvert ce petit outil à insérer dans une barre gnome voila un an et j’en suis devenu fan. Ce dernier vient enfin d’arriver dans debian/lenny, et via un ajout dans l’apt source-list, c’est également installable sur une ubuntu. Petit screenshot :

bounce-bounce-bounce-bounce

Sur zone0, j’ai des domUs dont le ssh n’est pas accessible depuis Internet. Habituellement, je ssh sur le dom0 puis rebondis. Et puis je me suis souvenu de cette news de Reefab qui pointait une astuce à base de nc. Voici une version compactée et un peu modifiée de la doc en question : Sur le client : nc devra evidemment etre installé sur le serveur de rebond (ici, le dom0).

Push the playlist on

Ptite magouille. Pour bruler mes CDs audio, j’utilise gnomebaker. Il est pratique, rapide, intuitif, et il fonctionne. Ce dernier est capable d’enregistrer des “projets”, qui correspondent en l’occurrence à un fichier XML contenant les informations sur la playlist que vous allez graver. J’avais pas envie de coder un truc, j’ai donc opté pour du scripting de feignant. La première brique s’appelle xmlstarlet, un outil command line qui permet de manipuler du XML.

Ce ne sont pas ces droïdes que vous recherchez.

Sur mon serveur perso, par définition, y’a des trucs perso. De plus, à l’approche d’une société nouvelle, il n’est pas superflu de prendre quelques mesures afin de préserver un semblant d’intimité. Pour cela, les bons génies de l’Internet on créé, il y a bien longtemps, SSL. Mais voila, il y a d’autres trucs et bidules que je souhaite pouvoir exposer en place publique. J’entreprend donc de jouer avec les directives de lighttpd pour créer des exclusions et autres redirections.

merde, j'ai pas de backup...

Combien de fois cette phrase a retenti dans vos esprits imprudents ? dans mon esprit imprudent à moi, plein. Alors, comme je viens de toper un kimloli sur les conseils de mon bouquetin favori, je me suis dit que, pour une fois, j’y collerais bien une procedure de backup propre. J’ai déjà parlé et probablement pasté ici même un petit script gentil qui, grâce au couple rsync / rsyncd, permettait de rendre cette opération relativement rapide assez simplement.

tin, 23%...

Problème : Tu as, sur ta machine chez toi, démarré une application graphique qui n’a pas de pendant console et tu es curieux de savoir à combien de poucents en est le… la… COMPILATION. Ta machine est bien evidemment située derrière une gate quelconque dont la seule particularité est de disposer d’un access ssh accessible. “Damn foukine shit”, te dis-tu, “Ca va etre une tannée pas croyable” Que nenni Solution (qui suppose que tu as un VNC server qui tourne sur ta workstation) :

local

update Non seulement ce qui est ecrit ci dessous est faux mais en plus ca ne marche absolument pas. En réalité il suffisait de spécifier à la classe w de chercher tous les attributs sendmailMTAClassName=w dans l’arbre, soit : define(confCW_FILE’, @ldap: -k sendmailMTAClassName=w -v sendmailMTACLassValue') dans le fichier .mc C’est pris à la volée et ca marche impeccablement bien. P’tit tip en passant, pour verifier tes local-host-names : echo '$=w' | sendmail -bt Je me demandais pourquoi donc après avoir ajouté des hosts dans la classe sendmailMTAClassName=w (équivalent de local-host-names), les mails à destination de ces derniers étaient refusés / non relayés si je ne restartais pas sendmail.

procmail, mon ami pour la vie

Voila quelques temps que je demandais comment automatiser le provisionning de mes users virtuels sachant que je veux utiliser le format maildir pour stocker les mails. Original: la solution s’appelle procmail. Je n’en savais rien et pourtant procmail propose le format maildir depuis belle lurette semble-t-il. Voici un petit procmailrc qui crée automatiquement le home du user ainsi que son repository maildir, une petite astuce est nécessaire pour délivrer effectivement le premier mail reçu : ` [~] cat /usr/local/etc/procmailrc DROPPRIVS=yes