Gestion de /etc en configuration

Bon, comme je fais de plus en plus de modification de la configuration de mon GNU/linux, j’ai décidé de gérer /etc en configuration.
Plus précisément, cela signifie que je souhaite garder un historique de toutes les modifications que j’y apporte, de façon à pouvoir faire marche arrière facilement si besoin. En plus, cela permet de vérifier facilement si la configuration change et dans quelle mesure (soit pour traquer un pirate, soit pour mieux appréhender le fonctionnement de l’ensemble).

Passons aux choses sérieuses. J’ai suivi ces conseils. En voici la traduction.

Mettre /etc/ sous svk/svn

Enrico Zini nous indique une astuce pour mettre /etc sous contrôle de subversion. Comme le précise l’une des réponses, il est ensuite possible de faire un mirroir du repository svk sur un server svk classique/standard de façon à sauvegarder /etc/ à distance. Je ne connais pas la meilleure façon de structurer l’ensemble, mais il doit être aussi possible d’utiliser ce mécanisme pour partager les fichiers de configuration entre plusieurs serveurs (tous client du même server subversion).

# Installer svk
apt-get install svk

   # Initializer un depot dans /root/.svk  
   svk depotmap --init
   
   # Importer /etc et en faire un espace de travail  
   svk import --to-checkout //etc /etc
   
   # Faire en sorte que le depot ne puisse être consulté  
   chmod -R go-rwx ~/.svk
   
   # Suprimer du contrôle de version les fichiers volatile  
   cd /etc  
   svk rm -K adjtime ld.so.cache  

…et voilà, vous disposez d’un gestion de version pour /etc/, sans répertoires CVS, .svn ou {arch} au milieu. La syntaxe de svk est pratiquement la même que celle de svn, aux exceptions près des extensions concernant le fonctionnement distribué.