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.



Fr Jul 30 13:54:24 CEST 2021
patent_button.gif valid-html401.png elektra.jpg fsfe-logo.png valid-css.png vim.gif anybrowser.gif