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.
Unix
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).
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 :
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).
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.
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.
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.
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) :
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.
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