Projekt

Allgemein

Profil

ETCkeeper » Historie » Version 8

Josef Braun, 02.01.2010 14:30

1 2 Josef Braun
h1. Versionierung von Dateien im /etc VerzeichnisOrdner 
2
mit etckeeper
3 3 Josef Braun
4 4 Josef Braun
5 1 Josef Braun
6 5 Josef Braun
h2. Speichert /etc in Git, Mercurial, Bzr oder Darcs
7 4 Josef Braun
8 5 Josef Braun
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. 
9 4 Josef Braun
10 5 Josef Braun
(am Beispiel einer OpenSuse Installation mit Mercurial)
11 1 Josef Braun
12
13 5 Josef Braun
h2. Schritte zur fertigen Installation
14
15
* die Pakete git und mercurial mit yast installieren
16
17
* die aktuelle Version vom git repository abholen. 
18 7 Josef Braun
19
 Dazu in ein leeres bzw. neues Verzeichnis wechseln und aufrufen:
20 5 Josef Braun
<pre>
21 6 Josef Braun
md ~/src
22
cd ~/src
23 1 Josef Braun
git clone git://git.kitenet.net/etckeeper
24 6 Josef Braun
25 1 Josef Braun
</pre>
26 6 Josef Braun
27 1 Josef Braun
* in das etckeeper Verzeichnis wechseln 
28 6 Josef Braun
29 8 Josef Braun
  die *etckeeper.conf* bearbeiten und 
30 1 Josef Braun
31 7 Josef Braun
 
32 6 Josef Braun
 # das verwendete SCM von git auf merical umstellen
33 7 Josef Braun
 # high-level package manager und
34
 # low-level package manager umstellen
35 6 Josef Braun
36
 <pre>
37
# /etc/etckeeper.conf
38
#
39
# version 0.41
40
#
41
# The VCS to use.
42
VCS="hg"
43
#VCS="git"
44
# VCS="bzr"
45
# VCS="darcs"
46
47
# Options passed to git commit when run by etckeeper.
48
#GIT_COMMIT_OPTIONS=""
49
50
# Options passed to hg commit when run by etckeeper.
51
#HG_COMMIT_OPTIONS=""
52
53
# Options passed to bzr commit when run by etckeeper.
54
#BZR_COMMIT_OPTIONS=""
55
56
# Options passed to darcs commit when run by etckeeper.
57
#DARCS_COMMIT_OPTIONS=""
58
59
# Uncomment to avoid etckeeper committing existing changes
60
# to /etc automatically once per day.
61
#AVOID_DAILY_AUTOCOMMITS=1
62
63
# Uncomment to avoid etckeeper committing existing changes to.
64
# /etc before installation. It will cancel the installation,
65
# so you can commit the changes by hand.
66
#AVOID_COMMIT_BEFORE_INSTALL=1
67
68
# The high-level package manager that's being used.
69
# (apt, pacman-g2, yum etc)
70
#HIGHLEVEL_PACKAGE_MANAGER=apt
71
HIGHLEVEL_PACKAGE_MANAGER=yum
72
73
# The low-level package manager that's being used.
74
# (dpkg, rpm, pacman-g2, etc)
75
#LOWLEVEL_PACKAGE_MANAGER=dpkg
76
LOWLEVEL_PACKAGE_MANAGER=rpm
77
</pre>
78 1 Josef Braun
79 8 Josef Braun
* nun mittels *'make install'* die Dateien nach /etc/etckeeper installieren
80 1 Josef Braun
81 8 Josef Braun
 das liefert in etwa folgenden Output bei Erfolg.
82 1 Josef Braun
83 8 Josef Braun
 <pre>
84
mkdir -p /etc/etckeeper/ /var/cache/etckeeper/
85
cp -a *.d /etc/etckeeper/
86
install  -m 0644 -D etckeeper.conf /etc/etckeeper/etckeeper.conf
87
install  -D etckeeper /usr/sbin/etckeeper
88
install  -m 0644 -D etckeeper.8 /usr/share/man/man8/etckeeper.8
89
install  -m 0644 -D bash_completion /etc/bash_completion.d/etckeeper
90
install  -m 0644 -D yum-etckeeper.py /usr/lib/yum-plugins/etckeeper.py
91
install  -m 0644 -D yum-etckeeper.conf /etc/yum/pluginconf.d/etckeeper.conf
92
./etckeeper-bzr/__init__.py install --root= || echo "** bzr support not installed"
93
Traceback (most recent call last):
94
  File "./etckeeper-bzr/__init__.py", line 6, in <module>
95
    import bzrlib
96
ImportError: No module named bzrlib
97
** bzr support not installed
98
echo "** installation successful"
99
** installation successful
100
</pre>
101 1 Josef Braun
102 8 Josef Braun
+ Fertig!
103
nun existiert der komplette Tree auch auf /etc/etckeeper
104 1 Josef Braun
105 8 Josef Braun
+Befehle im Betrieb+:
106
107
108 1 Josef Braun
+Links+:
109
110 8 Josef Braun
Entwicklerseite auf  http://kitenet.net/~joey/code/etckeeper
111
Debian Paket zum Vergleich http://packages.debian.org/de/sid/etckeeper
Redmine Appliance - Powered by TurnKey Linux