Debian-ontwikkelaar Joey Hess creëerde het programma etckeeper als een collectie tools om de directory /etc in de repository van een versiebeheerprogramma zoals Git, Mercurial, Darcs of Bzr te plaatsen. Het nestelt zich bovendien in pakketbeheerprogramma's zoals Apt en Yum om veranderingen automatisch bij te houden tijdens een upgrade. Bovendien houdt het wijzigingen aan bestandspermissies bij, wat een puur versiebeheerprogramma niet kan.

De documentatie van Ubuntu 9.04 legt uit hoe je etckeeper gebruikt. Als je het programma installeert, installeert het standaard ook Ubuntu's versiebeheerprogramma Bzr. In het configuratiebestand /etc/etckeeper/etckeeper.conf kun je echter aanpassen welk versiebeheerprogramma het gebruikt. Je kunt er ook het standaardgedrag veranderen: etckeeper schrijft de wijzigingen één keer per dag weg naar Bzr en schrijft bestaande wijzigingen ook weg vlak voor een installatie of upgrade via apt-get.

Na de installatie van etckeeper initialiseer je de repository en voer je een initiële import uit:

sudo etckeeper init

sudo etckeeper commit "initial import"

Het is verstandig om de gewoonte aan te nemen om wijzigingen aan bestanden in /etc te documenteren met een commit in je versiebeheerprogramma. Dat kun je het beste op een coherente manier doen: wijzigingen die bij elkaar horen documenteer je in één revisie. Heb je bijvoorbeeld /etc/hosts en /etc/resolv.conf gewijzigd, documenteer dit dan met:

sudo etckeeper commit "Change domain name"

Tips

Nu zijn er heel wat interessante zaken mogelijk met je versiebeheerprogramma. Vraag bijvoorbeeld een overzicht op van de wijzigingen en wie ze heeft uitgevoerd:

sudo bzr log --line /etc

Of kijk wat er is veranderd in revisie 2:

sudo bzr diff -c2 /etc

Of kijk wat het verschil is tussen de huidige configuratie en de meest recente revisie:

sudo bzr diff /etc

En indien je nieuwe configuratie misgelopen is, herstel je heel eenvoudig een revisie van een bepaald bestand:

sudo bzr revert -r1 /etc/resolv.conf

Bron: Techworld