Verwalten von / etc mit Versionskontrolle unter Verwendung von Etckeeper unter Linux

In der Unix / Linux-Verzeichnisstruktur ist die /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 /etcim Falle eines Fehlers.

Die anderen Funktionen sind:

  1. 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.
  2. Es verfolgt Dateimetadaten (wie die Dateiberechtigungen), die Git normalerweise nicht unterstützt, für die dies jedoch wichtig ist /etc, und
  3. 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
Initialisieren Sie das Git Repository auf / etc.
Initialisieren Sie das Git Repository auf / etc.

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"
Führen Sie Git Commit aus, um Änderungen im Dateisystem / etc zu verfolgen
Führen Sie Git Commit aus, um Änderungen im Dateisystem / etc zu verfolgen

Ä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
Änderungen am Dateisystem / etc anzeigen
Änderungen am Dateisystem / etc anzeigen

Übernehmen Sie dann die letzten Änderungen wie folgt.

$ sudo etckeeper commit "changed hosts and phpmyadmin config files"
Übernehmen Sie neue Änderungen
Übernehmen Sie neue Änderungen

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
Git Commit-Verlauf anzeigen
Git Commit-Verlauf anzeigen

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
Commit-Details anzeigen
Commit-Details anzeigen

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
Starten Sie die Etckeeper-Timer-Einheit
Starten Sie die Etckeeper-Timer-Einheit

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.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *