Verwalten von / etc mit Versionskontrolle unter Verwendung von Etckeeper unter Linux
/etc
In diesem Verzeichnis befinden sich hostspezifische systemweite Konfigurationsdateien und -verzeichnisse. Es ist ein zentraler Speicherort für alle systemweiten Konfigurationsdateien. Eine Konfigurationsdatei ist eine lokale Datei, mit der gesteuert wird, wie ein Programm funktioniert. Sie muss statisch sein und darf keine ausführbare Binärdatei sein.Um Änderungen an Systemkonfigurationsdateien zu verfolgen, erstellen Systemadministratoren normalerweise Kopien (oder Sicherungen) von Konfigurationsdateien, bevor sie diese ändern. Auf diese Weise können sie zur gespeicherten Kopie zurückkehren, wenn sie die Originaldatei direkt geändert und einen Fehler gemacht haben.
Etckeeper ist eine einfache, benutzerfreundliche, modulare und konfigurierbare Sammlung von Tools, die vermietet werden können /etc
mit Versionskontrolle verwaltet werden. Hier können Sie Änderungen im speichern /etc
Verzeichnis in einem Versionskontrollsystem (VCS) wie Git (das bevorzugte VCS), Quecksilber-, Basar- oder Darcs-Repository. Auf diese Weise können Sie git verwenden, um vorgenommene Änderungen zu überprüfen oder rückgängig zu machen /etc
im Falle eines Fehlers.
Die anderen Funktionen sind:
- Es unterstützt die Integration mit Front-End-Paketmanagern wie APT, YUM, DNF, Zypper und Pacman-g2 Änderungen, die an vorgenommen wurden, automatisch festzuschreiben
/etc
während Paket-Upgrades. - Es verfolgt Dateimetadaten (wie die Dateiberechtigungen), die Git normalerweise nicht unterstützt, für die dies jedoch wichtig ist
/etc
, und - es beinhaltet sowohl einen Cron-Job als auch einen System Timer, an den jeder Änderungen vornehmen kann
/etc
automatisch einmal pro Tag.
So installieren Sie Etckeeper unter Linux
Etckeeper ist verfügbar in Debian, Ubuntu, Fedoraund andere Linux-Distributionen. Verwenden Sie zur Installation Ihren Standardpaketmanager wie gezeigt. Beachten Sie, dass dieser Befehl auch installiert wird git und einige andere Pakete als Abhängigkeiten.
$ sudo apt-get install etckeeper #Ubuntu and Debian # apt-get install etckeeper #Debian as root user # dnf install etckeeper #Fedora 22+ $ sudo zypper install etckeeper #OpenSUSE 15
Auf Enterprise Linux Distributionen wie RedHat Enterprise Linux (RHEL), CentOS und andere müssen Sie hinzufügen EPEL-Repository bevor Sie es wie gezeigt installieren.
# yum install epel-release # yum install etckeeper
Etckeeper unter Linux konfigurieren
Sobald Sie installiert haben Etckeeper Wie oben gezeigt, müssen Sie konfigurieren, wie es funktioniert und wie die Hauptkonfigurationsdatei lautet /etc/etckeeper/etckeeper.conf. Verwenden Sie zum Öffnen einen Ihrer bevorzugten textbasierten Editoren wie gezeigt.
# vim /etc/etckeeper/etckeeper.conf OR $ sudo nano /etc/etckeeper/etckeeper.conf
Die Datei enthält mehrere Konfigurationsoptionen (jede mit einer kleinen, klaren Verwendungsbeschreibung), mit denen Sie das Versionskontrollsystem festlegen können (VCS) zu verwenden, Optionen an übergeben VSC;; Zum Aktivieren oder Deaktivieren des Timers, zum Aktivieren oder Deaktivieren der Warnung für spezielle Dateien, zum Aktivieren oder Deaktivieren der Übergabe vorhandener Änderungen an /etc
vor der Installation.
Sie können auch den Front-End- oder übergeordneten Paketmanager (wie apt, yum, dnf usw.) und den zugrunde liegenden oder untergeordneten Paketmanager (dpkg, rpm usw.) für die Arbeit festlegen Etckeeper.
Wenn Sie Änderungen an der Datei vorgenommen haben, speichern Sie diese und schließen Sie die Datei.
Initialisieren Sie das Git-Repository und führen Sie das erste Commit durch
Nachdem Sie etckeeper konfiguriert haben, müssen Sie das initialisieren Git Repository, um Änderungen in Ihrem zu verfolgen /etc
Verzeichnis wie folgt. Du kannst nur rennen Etckeeper mit Root-Berechtigungen, andernfalls verwenden sudo.
$ cd $ sudo etckeeper init

Als nächstes Schritt für Etckeeper Um automatisch arbeiten zu können, müssen Sie das erste Commit ausführen, um die Änderungen in zu verfolgen /etc
, wie folgt.
$ sudo etckeeper commit "first commit"

Änderungen vornehmen und festschreiben
Nachdem Sie Ihr erstes Commit ausgeführt haben, Etckeeper über git verfolgt jetzt alle Änderungen in der /etc
Verzeichnis. Versuchen Sie nun, Änderungen an den Konfigurationsdateien vorzunehmen.
Führen Sie dann den folgenden Befehl aus, um Dateien anzuzeigen, die sich seit dem letzten Festschreiben geändert haben. Dieser Befehl zeigt im Wesentlichen die Änderungen in /etc
nicht für Commit inszeniert, wo VCS bedeutet git und “Status”Ist ein Git-Unterbefehl.
$ sudo etckeeper vcs status

Übernehmen Sie dann die letzten Änderungen wie folgt.
$ sudo etckeeper commit "changed hosts and phpmyadmin config files"

Commit-Protokolle anzeigen
Um ein Protokoll aller Commits anzuzeigen (ID und Kommentar jedes Commits), können Sie den folgenden Befehl ausführen.
$ sudo etckeeper vcs log

Sie können auch die Details eines Commits anzeigen, indem Sie einfach das angeben Commit-ID (Die ersten Zeichen können funktionieren) wie gezeigt:
$ sudo etckeeper vcs show a153b68479d0c440cc42c228cbbb6984095f322d OR $ sudo etckeeper vcs show a153b6847

Außerdem können Sie den Unterschied zwischen zwei Commits wie gezeigt anzeigen. Dies ist besonders nützlich, wenn Sie Änderungen wie im nächsten Abschnitt gezeigt widerrufen möchten. Mit den Pfeiltasten können Sie nach oben und unten oder nach links und rechts scrollen und durch Drücken beenden q
.
$ sudo etckeeper vcs show 704cc56 a153b6847
So widerrufen Sie Änderungen
Die Essenz von Etckeeper soll Ihnen helfen, Änderungen an Ihrem zu verfolgen /etc
Verzeichnis und kehren Sie die Änderungen bei Bedarf um. Angenommen, Sie erkennen, dass Sie einige Fehler in der gemacht haben /etc/nginx/nginx.conf Wenn Sie es zuletzt bearbeitet haben und der Nginx-Dienst aufgrund von Fehlern in der Konfigurationsstruktur nicht neu gestartet werden kann, können Sie in einem bestimmten Commit (z 704cc56) wo Sie denken, dass die Konfiguration wie folgt korrekt war.
$ sudo etckeeper vcs checkout 704cc56 /etc/nginx/nginx.conf
Alternativ können Sie alle Änderungen abbrechen und zu Versionen aller Dateien unter zurückkehren /etc
(und seine Unterverzeichnisse) in einem bestimmten Commit gespeichert.
$ sudo etckeeper vcs checkout 704cc56
So aktivieren Sie das automatische Festschreiben von Änderungen
Etckeeper versendet auch mit einem Service und Timer-Einheiten für Systemd, im Paket enthalten. Starten “Autocommit”Von Änderungen in der /etc
Verzeichnis einfach starten etckeeper.timer
Gerät für jetzt und überprüfen Sie, ob es in Betrieb ist, wie folgt.
$ sudo systemctl start etckeeper.timer $ sudo systemctl status etckeeper.timer

Aktivieren Sie den automatischen Start beim Systemstart wie gezeigt.
$ sudo systemctl enable etckeeper.timer
Weitere Informationen finden Sie auf der Etckeeper-Projektseite: https://etckeeper.branchable.com/.
Fazit
In diesem Handbuch haben wir die Installation und Verwendung gezeigt Etckeeper für Speicheränderungen in der /etc
Verzeichnis in einem Versionskontrollsystem (VCS) sowie git und überprüfen oder zurücksetzen von Änderungen, die an vorgenommen wurden /etc
, wo nötig. Teilen Sie Ihre Gedanken mit oder stellen Sie Fragen zu etckeeper über das unten stehende Feedback-Formular.