Veit Schiele Communications

Veit Schiele Communications

etckeeper

erstellt von Veit Schielezuletzt verändert: 25.06.2015 10:49 © Veit Schiele, 2014–2015

Installation

Für Debian und Ubuntu kann ètckeeper` aus den Repositories installiert werden mit

$ sudo apt-get install git
$ sudo apt-get install etckeeper

Konfiguration

Die Konfiguration von etckeeper erfolgt in der etckeeper.conf-Datei:

$ sudo vi /etc/etckeeper/etckeeper.conf
# The VCS to use.
#VCS="hg"
VCS="git"
#VCS="bzr"
#VCS="darcs"
…

Außerdem sollten die folgenden beiden automatischen Commits vermieden werden:

# Uncomment to avoid etckeeper committing existing changes
# to /etc automatically once per day.
AVOID_DAILY_AUTOCOMMITS=1
…
# Uncomment to avoid etckeeper committing existing changes to
# /etc before installation. It will cancel the installation,
# so you can commit the changes by hand.
AVOID_COMMIT_BEFORE_INSTALL=1

Nun sollte noch git selbst konfiguriert werden, s. Git-Konfiguration.

Schließlich kann das /etc-Verzeichnis unter die git-Versionsverwaltung genommen werden mit:

$ cd /etc/
$ sudo etckeeper init
Initialized empty Git repository in /etc/.git/
$ sudo etckeeper commit "Initial commit"

Verwendung

Wir nun eine Datei editiert, so können nun mit Git diese Änderungen protokolliert werden mit git add und git commit.

Metadaten verwalten

Da Git an sich keine vollständigen Metadaten aufzeichnet, wurde von etckeeper ein sog. pre-commit hook in /etc/.git/hooks/pre-commit eingerichtet. Dieser protokolliert in der Datei /etc/.etckeeper die chmod- und chgrp-Angaben für alle Dateien die nicht den Standardrechten entsprechen:

maybe chmod 0755 '.'
maybe chmod 0700 './.etckeeper'
maybe chmod 0644 './.gitignore'
…

. gitignore

Dateien, die nicht mit Git im /etc-Verzeichnis versioniert werden sollen, können in der Datei /etc/.gitignore hinzugefügt werden. Diese Datei wird beim Initiieren von ètckeeper` erzeugt und kann ggf. ergänzt werden nach dem Kommentar

# end section managed by etckeeper