Gestion de configuration Linux avec etckeeper
Avant propos La gestion de configuration des systèmes Linux peut être hasardeuse en cas de manque de rigueur De nombreux outils existent pour assurer Tracabilité et historique Retour arrière Puppet et cfengine permettent de stocker la configuration sur des serveurs de référence Mais leur mise en place est lourde et complexe et est surtout intéressante dans le cas de grands parcs
etckeeper Etckeeper est une application plus simple à mettre en oeuvre Elle utilise un gestionnaire de source comme git, bzr ou mercurial pour stocker et gérer l'historique des modification apportées au répertoire /etc qui contient la configuration des machines Linux
Les gestionnaires de source Utilisés pour le développement Git : le plus utilisé – simple et efficace Svn (subversion) : remplaçant de CVS Bzr (Baazar - Cannonical) Mercurial (linux, MacOS/, Windows) – écrit en python darcs
Git Développé par L. Torwalds pour remplacer Bitkeeper dans le développement du noyau Linux Utilisé par Linux-kernel, Gnome, Eclipse, Perl, Kde, qt, Ruby On Rail, Android, Postgresql, Debian, Samba, … Indexe les fichiers d'après leur somme SHA-1 Outil décentralisé, fonctionne en mode réseau (fetch et pull) (ssh, web,...)
Git – Quelques commandes Git init : crée un dépôt git add : Ajouter un fichier au suivi de version git commit : Valider les modifications git log : Pour voir les modification récentes git diff : Voir ce qui a changé pour un fichier depuis une certaine version git revert : Annule une unique modification (il est possible d'annuler une modification passée sans annuler tout depuis ce moment) git status : Savoir tout ce qui n'a pas encore été validé
Etckeeper : les caractéristiques Stocke le répertoire /etc dans le dépôt git Est lancé avant et après chaque utilisation de apt => trace des changements des fichiers de configuration Peut utiliser git, bzr, darcs, ou hg (mercurial)
Etckeeper : installation Installer le paquetage git avant ettkeeper : aptitude install git-core Installer etckeeper : aptitude install etckeepper cd /etc etckeeper init
Etckeeper : utilisation Faire un commit : git commit -a -m « Mon commentaire » Savoir si des fichiers on été changés : git status Obtenir l'historique : git log ou git log <fichier> Revenir à une version antérieure : git revert <numéro>
Etckeeper : utilisation - suite Propagation de configuration par clonage de dépôt git : git clone ssh://user@machine.net/~user/.git . Stratégie : ne pas oublier les commit fréquents et les git status
Etckeeper – Mise en oeuvre Installer git-core Installer etckeeper Vérifier /etc/etckeeper/etckeeper.conf (utilisation de git) Changer /etc/hosts Git status Git commit Git log /etc/hosts Git reverse N° pour récupérer la dernière version