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

Artikel der Woche

Loadtests ohne Server

Für Loadtests der eigenen Server bietet sich die Cloud an, denn kurz getaktet lassen sich dort viele Rechnerinstanzen starten, die das eigene Budget nur wenig belasten. Noch flexibler, günstiger und besser skalierbar sind Tests mit einer Serverless-Infrastruktur wie AWS Lambda. Wir führen vor, wie Sie dort mit Serverless Artillery eigene Loadtests starten. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Container

Wie setzen Sie Container ein?

  • Gar nicht
  • Docker standalone
  • Docker mit Kubernetes
  • Docker mit Swarm
  • Docker mit anderem Management
  • LXC/LXD
  • Rocket
  • CRI-O auf Kubernetes
  • Container auf vSphere
  • Andere (siehe Kommentare auf der Ergebnisseite)

Google+

Ausgabe /2018

Microsite