sourcejedi.etckeeper
sourcejedi.etckeeper
Installiere etckeeper. Verfolge den Inhalt von /etc mit einem Versionskontrollsystem.
Der aktuelle Inhalt von /etc
wird in einem Git-Repository gespeichert. Etckeeper erstellt täglich neue Commits im Repository und auch, wenn Dateien vom Paketmanager erstellt oder geändert werden (sofern unterstützt).
Status
Dieses spezielle Rollenskript wurde entwickelt, um auf einem bestehenden System zu funktionieren. Es wurde getestet, um unabhängig davon zu funktionieren, ob
- etckeeper bereits installiert ist
- das etckeeper-Repository existiert oder nicht
- das etckeeper-Repository existiert, aber keine Commits hat
Der Ansible --check
-Modus wird unterstützt.
Wenn du den Check-Modus ausführst, während etckeeper nicht vollständig installiert ist, wird der Vorgang fehlschlagen. Dieses Verhalten ist zu erwarten, da es sich um eine komplexe Rolle handelt, bei der einige Aufgaben von früheren abhängen. Wir achten darauf, dieses Verhalten zu erzeugen und sicherzustellen, dass der Check-Modus bestimmte Arten von Aufgaben nicht überspringt und dann einen irreführenden Bericht über "changed=0" gibt.
Anforderungen
Wurde erfolgreich auf Fedora, CentOS, Debian und Ubuntu 16.04+ verwendet. Ich nehme an, die meisten Linux-Distributionen bieten ein etckeeper-Paket an, das gut mit dieser Rolle funktioniert.
Auf CentOS wird das EPEL-Repository hinzugefügt, um das etckeeper-Paket bereitzustellen.
Einige ältere Versionen von Ubuntu funktionieren nicht, weil ihre Paketverwaltung das Standard-Backend auf bzr
anstelle von git
geändert hat. Etckeeper empfiehlt dies nicht - das Backend sollte git
sein, es sei denn, der Benutzer hat eine starke Vorliebe für etwas anderes. Diese Rolle ist speziell für git
implementiert (siehe unten). Ich könnte minimale Pull-Requests für Alternativen akzeptieren.
Abhängigkeiten
user.email
wird automatisch für das Git-Repository gesetzt. Dies ist erforderlich für git, und ältere Versionen von etckeeper versagen bei der Bereitstellung eines Wertes dafür in einigen Fällen. Ich habe keine Rollenvariable hinzugefügt, um den genauen Wert zu ändern, der verwendet wird. Wenn user.email
jedoch bereits gesetzt ist (z. B. in /root/.gitconfig
), wird dieser Schritt übersprungen. Wenn dir der verwendete Wert wichtig ist, stelle sicher, dass deine /root/.gitconfig
vorher eingerichtet ist. (Oder schicke mir ein Issue/Pull-Request, um zu erklären, warum du eine Rollenvariable möchtest).
Lizenz
Diese Rolle ist unter GPLv3 lizenziert. Bitte öffne ein Issue, falls das irgendwelche Probleme verursacht.
ansible-galaxy install sourcejedi.etckeeper