Voila vous avez passé des heures à mettre au point l’installation d’une machine mais malheureusement vous n’avez pas pris assez de note et votre historique de commandes n’est plus là. Pour ne pas se retrouver devant ce genre de situation voici Blueprint, un outil écrit en python, qui va vous permettre de faire du reverse engineering sur un système linux à partir de snapshots.


Dans mon job d’intégrateur d’applications je me suis déjà retrouvé dans ce genre de situation ou au moment de passer à la rédaction du dossier de mise en production plus de souvenirs de ce que j’ai pu faire. En effet, un le téléphone n’a pas arrêté de sonner et deux un collègue est passé derrière et explosé l’historique des commandes avec un vilain copier/coller avec le contenu d’un document word dans sa fenêtre Putty. Grrr

C’est en m’intéressant au gestionnaire de configuration Puppet que je suis tombé sur BluePrint et depuis fini ce genre de galère. BluePrint est un superbe outil qui est capable de retrouver toutes les modifications faite sur une machine et de les traduire au format Chef, Puppet ou en script shell. Pour cela il s’appuie sur des clichés du système pris avant et après modification et calcul les différences pour les transformer au format désiré. Depuis je m’en sers pour sortir la trame de mon dossier et cela me fait gagner beaucoup de temps en complément de mes notes et historiques de commandes.

Installation de BluePrint

Il faut dans un premier temps installer pip et git si cela n’est pas encore fait:

apt-get install python-pip git
sudo pip install blueprint

Avant de le lancer pour la première fois, il faut aussi saisir un nom/email fictif car je n’utilise pas les fonctionnalités git de l’outil.

git config --global user.email "bob@mail.com"
git config --global user.name "bob"

Utilisation de Blueprint

Avant d’apporter vos modifications à votre machine dans un premier temps il faut prendre un premier cliché :

sudo blueprint create mon-premier-cliche

Vous pouvez visualiser le contenu du cliché avec l’option show

sudo blueprint show mon-premier-cliche

Ensuite faite toutes vos modifications ……

Une fois terminé prenez un second cliché

sudo blueprint create mon-second-cliche

Maintenant créons le différentiel :

sudo blueprint diff mon-premier-cliche mon-second-cliche mes-modifs

Vous pouvez en visualiser le contenu :

sudo blueprint show mes-modifs

Pour transformer le contenu en shell script utiliser cette commande :

sudo blueprint show -S mes-modifs
Pour le transformer au format puppet il utiliser -P au lieu de -S

Je vous laisse découvrir le reste de ce merveilleux outils : devstructure.com