ETCkeeper » Historie » Revision 17
« Zurück |
Revision 17/28
(diff)
| Weiter »
Josef Braun, 02.01.2010 15:15
Versionierung von Dateien im /etc VerzeichnisOrdner
mit etckeeper¶
- Inhaltsverzeichnis
- Versionierung von Dateien im /etc VerzeichnisOrdner mit etckeeper
etckeeper speichert /etc in Git, Mercurial, Bzr oder Darcs SCMs¶
etckeeper ist ein Werkzeug, um /etc in einem Git- , Mercurial- , Bzr- oder Darcs-Depot speichern zu können. Es hängt sich in APT ein und überträgt die Änderungen in /etc, die während der Paketaktualisierung gemacht wurden. Es macht die Metadaten der Dateien ausfindig, was Versionskontrollsysteme normalerweise nicht unterstützen, dies ist allerdings wichtig für /etc, wie z. B. die Rechte von /etc/shadow. Es ist recht modular und konfigurierbar, gleichzeitig auch einfach zu benutzen, wenn Sie die Grundlagen des Arbeitens mit Versionskontrolle verstehen.
(am Beispiel einer OpenSuse Installation mit Mercurial)
Schritte zur fertigen Installation¶
- die Pakete git und mercurial mit yast installieren
- die aktuelle Version vom git repository abholen.
Dazu in ein leeres bzw. neues Verzeichnis wechseln und aufrufen:
md ~/src cd ~/src git clone git://git.kitenet.net/etckeeper
- in das etckeeper Verzeichnis wechseln
die etckeeper.conf bearbeiten und
- das verwendete SCM von git auf merical umstellen # high-level package manager und # low-level package manager umstellen
# /etc/etckeeper.conf # # version 0.41 # # The VCS to use. VCS="hg" #VCS="git" # VCS="bzr" # VCS="darcs" # Options passed to git commit when run by etckeeper. #GIT_COMMIT_OPTIONS="" # Options passed to hg commit when run by etckeeper. #HG_COMMIT_OPTIONS="" # Options passed to bzr commit when run by etckeeper. #BZR_COMMIT_OPTIONS="" # Options passed to darcs commit when run by etckeeper. #DARCS_COMMIT_OPTIONS="" # 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 # The high-level package manager that's being used. # (apt, pacman-g2, yum etc) #HIGHLEVEL_PACKAGE_MANAGER=apt HIGHLEVEL_PACKAGE_MANAGER=yum # The low-level package manager that's being used. # (dpkg, rpm, pacman-g2, etc) #LOWLEVEL_PACKAGE_MANAGER=dpkg LOWLEVEL_PACKAGE_MANAGER=rpm
- nun die Dateien nach /etc/etckeeper installieren dazu nun wie folgt 'make install' ausführen:
make install
das liefert in etwa folgenden Output bei Erfolg.mkdir -p /etc/etckeeper/ /var/cache/etckeeper/ cp -a *.d /etc/etckeeper/ install -m 0644 -D etckeeper.conf /etc/etckeeper/etckeeper.conf install -D etckeeper /usr/sbin/etckeeper install -m 0644 -D etckeeper.8 /usr/share/man/man8/etckeeper.8 install -m 0644 -D bash_completion /etc/bash_completion.d/etckeeper install -m 0644 -D yum-etckeeper.py /usr/lib/yum-plugins/etckeeper.py install -m 0644 -D yum-etckeeper.conf /etc/yum/pluginconf.d/etckeeper.conf ./etckeeper-bzr/__init__.py install --root= || echo "** bzr support not installed" Traceback (most recent call last): File "./etckeeper-bzr/__init__.py", line 6, in <module> import bzrlib ImportError: No module named bzrlib ** bzr support not installed echo "** installation successful" ** installation successful
- das Init Repository noch erzeugen und dann Fertig!
etckeeper init
nun existiert der komplette /etc/etckeeper sowie /etc/.hg (bei letzterem noch schauen, ob die Rechte passen, damit nicht jeder Einsicht bekommt!)
- nun das Repository mit den Files befüllen. Über Status wird zuvor nachgesehen, ob auch alle Files hinzugefügt wurden mit dem init
cd /etc
hg status
hg commit -m "initial etckeeper checkin"
Befehle im Betrieb¶
nach jeder Änderung die gespeichert werden soll ein commit machen:
z.b.
passwd someuser
hg status
hg commit -m "changed a password"
oder auch
etckeeper commit "Hier meine gewünschte Notiz eintragen"
etckeeper commit kann auch täglich über einen cron job welcher aber nicht durch die installation wie im Readme beschrieben, sondern selbst anzulegen wäre.
weitere Links sowie Dokumentationen¶
weiter Details zu finden im README der Source Installation (ein Ausschnitt daraus das etckeeper Tutorial)
Entwicklerseite auf http://kitenet.net/~joey/code/etckeeper
Debian Paket zum Vergleich http://packages.debian.org/de/sid/etckeeper
Von Josef Braun vor fast 16 Jahren aktualisiert · 17 revisions