outdated: etckeeper (Debian package) solves that problem Diese Anleitung ist minimale Modifikation von http://jukie.net/~bart/blog/20070312134706 (Hauptänderung: Verwendung von sudo und in Deutsch) Es wird beschrieben wie sie alle ihre Konfigurationsdateien (Komplettes /etc) mit git tracken. Warum sie das tun wollen kann man nicht mit kurzen Worten beschreiben :-) cd /etc sudo git-init-db sudoedit .git/info/exclude ############# # git-ls-files --others --exclude-from=.git/info/exclude # Lines that start with '#' are comments. # For a project mostly in C, the following would be a good set of # exclude patterns (uncomment them if you want to use them): *~ *.dpkg-new *.dpkg-old ############# sudo chmod og-rwx .git Jetzt ist die Datenbank vorhanden, aber leer. Die letzte Zeile *MUSS* sein, sonst kann jeder auf sehr sensible Daten wie /etc/shadow(!) lesend zugreifen. sudo git add . sudo git commit -m"initial import" Damit werden alle Dateien in die git Datenbank hinzugefügt. Ab diesem Zeitpunkt kann man sich mit git diff ausgeben lassen was alles in der Konfiguration verändert wurde. Bei updates der Konfiguration (z.b. neues Paket installieren) möchte man natürlich jedesmal händisch commiten. sudo mkdir /root/bin sudoedit /root/bin/commit-etc ############# #!/bin/bash if [ -z "$1" ] then caller=$(ps axww | grep "^ *$$" -B3 | grep " apt-get " | head -n1 | sed 's/^.*\(apt-get .*\)/\1/' ) else caller="$1" fi cd /etc git-add . git-commit -a -m"commit-etc: $caller" exit 0 ############# sudo chmod +x /root/bin/commit-etc Dieses Skript ermöglicht das commiten von etc. Je nach PATH ist vielleicht /usr/local/sbin zu bevorzugen. sudoedit /etc/apt/apt.conf oder sudoedit /etc/apt/apt.conf.d/50commit-etc ############# DPkg { Post-Invoke {"/root/bin/commit-etc";}; } ############# Diese apt.conf datei kann jetzt gleich getrackt werden! sudo git add . sudo git commit -a -m"apt will track /etc automagically using git" Wenn jetzt etwas installiert wird, dann werden diese Dateien automatisch geadded und commited. Admins müssen natürlich selber add und commit ausführen.