ADMIN-Tipp: Versionierung für Etc-Dateien

Jede Woche erscheint in unserem Newsletter ein neuer ADMIN-Tipp. Eine Sammlung aller Tipps finden Sie im Archiv der ADMIN-Tipps.

Im Etc-Verzeichnis von Linux- und Unix-Systemen sieht es oft aus wie bei Hempels unterm Sofa. Für etwas Ordnung sorgt der Etckeeper.

Weil unter Unix alles seinen Ort hat, befinden sich Konfigurationsdateien seit mehr als 40 Jahren unter "ferner liefen", das heißt konkret in einem Verzeichnis namens "etc". Da es sich nur im konventielle Textdateien handelt, muss sich jeder Administrator selber darum kümmern, das System nicht zu verkonfigurieren. Im Klartext bedeutet das "etc/config.conf.bak" und Co oder, wenn es ganz strukturiert läuft, die Verwendung von RCS zur Versionskontrolle.

Einfacher und besser geht das Gleiche aber mit Etckeeper, einem Tool von Joey Hess, das automatisch ausgefeilte Versionskontrollsysteme (VCS) wie Git, Mercurial oder Bazar verwendet, um über Änderungen an der Konfiguration Buch zu halten. Nach der Installation initialisiert man zuerst das Repository mit:

# cd /etc 
# etckeeper init

Das verwendete VCS lässt sich in "/etc/etckeeper/etckeeper.conf" ändern, indem man die Variable VCS etwa auf "bzr" oder "hg" setzt. Die Default-Einstellung unter Debian Linux ist Git, bei Ubuntu ist es Bazaar. 

Auf Debian- und Ubuntu-Systemen wird bei der Installation ein Hook in das Apt-Paketmanagement eingehängt, der dazu führt, dass die Konfigurationsdateien neu installierter Pakete automatisch unter VCS-Kontrolle stehen. Über die Variable "AVOID_DAILY_AUTOCOMMITS" lässt einschalten, dass Etckeeper einmal am Tag neue Änderungen in das Repository übernimmt. Ansonsten sollte man seine Änderungen am besten mit Kommentar von Hand commiten. Dank Etckeeper muss man dafür nicht die Syntax des verwendeten VCS bemühen, sondern kann dies direkt mit dem Tool selbst tun, etwa:

# etckeeper commit "Domainname geändert"
27.09.2013

Ähnliche Artikel

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023