etc Keeper¶
Konfiguration¶
In der Konfigurationsdatei von etc Keeper /etc/etckeeper/etckeeper.conf
folgendes einfügen oder anpassen. Hiermit stellen wir sicher, dass wir git für die Versionskontrolle verwenden.
VCS="git"
Nun das git Repository für die Speicherung der Veränderungen in dem Verzeichnis /etc
initialisieren.
etckeeper init
Mit den folgenden Befehlen legen wir einen Autor für das git Repository an.
cd /etc
git config user.email <E-Mail Adresse>
git config user.name <Name>
Wenn man einen Autor festlegen möchte, der für das gesamte Benutzerkonto gilt, kann man das mit folgenden Befehlen durchführen.
git config --global user.email <E-Mail Adresse>
git config --global user.name <Name>
Nun speichern wir alle vorhandenen Daten aus /etc
zum ersten mal ab, damit wir später Veränderungen nachvollziehen können.
etckeeper commit
Salt State File¶
etckeeper.sls
# etc Keeper
{% set etckeeper = salt['grains.filter_by']({
'Debian': {'pkg': 'etckeeper'},
}, default='Debian') %}
{{ etckeeper.pkg }}:
pkg.installed:
- name: {{ etckeeper.pkg }}
# - require:
# - sls: gateway.git
{% set pattern = '^(|#)VCS="(.*)"$' %}
{% set repl = 'VCS="git"' %}
/etc/etckeeper/etckeeper.conf:
file.replace:
- name: /etc/etckeeper/etckeeper.conf
- pattern: {{ pattern }}
- repl: {{ repl }}
- append_if_not_found: True
- require:
- pkg: {{ etckeeper.pkg }}
etckeeper-init:
cmd.run:
- cwd: /etc
- name: etckeeper init
- unless: test -d /etc/.git
- require:
- file: /etc/etckeeper/etckeeper.conf
/etc/.git/config:
file.append:
- name: /etc/.git/config
- text: |
[user]
email = root@localhost
name = root