Mit git / etc verwalten?


13

Ich denke an ein System, das /etcin einem Remote-Git-Repository verfolgt wurde. Ich denke an einen Git-Workflow, bei dem jeder Host-Computer einen anderen Zweig hat.

Alle vorherigen Versionen auf jeder Maschine konnten leicht verfolgt, verglichen und zusammengeführt werden.

Wenn eine /etcÄnderung auf vielen Computern festgeschrieben werden musste, konnte sie leicht durch ein Zusammenführungsskript durchgeführt werden.

Im Falle einer "unerwünschten" /etcÄnderung könnte dies gut sichtbar sein (sogar Alarmskripte könnten darauf abgestimmt werden).

Hat jemand schon eine solche Konfiguration benutzt? Gibt es irgendwelche Sicherheitsprobleme damit?


6
Es gibt etckeeperdas, was bereits auf vielen Systemen verwendet wird. Es bietet nicht alle Funktionen, nach denen Sie gefragt haben. Zum Beispiel hat es ein Repository pro Host, kein zentrales.
Jofel

Welche Dateien interessieren Sie oder welche Dateien wurden in der Vergangenheit unerwünscht geändert? Ich frage, weil ich denke, dass Git nicht der richtige Weg ist, um Probleme zu lösen, die an einem anderen Punkt in Ihrem Workflow verursacht wurden. Weiter: Wenn jemand vergisst, mehrere Änderungen vorzunehmen, ist Git wertlos. Könnten Sie bitte Ihre Umgebung erklären? Haben Sie Test- und QS-Umgebungen, die mit der Produktion identisch sind? Haben Sie viel mehr als zwei oder drei Wirte des gleichen Typs / Zwecks oder ist es heterogen? Was ist wichtiger: Vergleichen Sie die Hostkonfigurationen oder verfolgen Sie die Konfiguration eines Hosts im Laufe der Zeit?
versuchen-fangen-endlich

Antworten:


6

Das Programm etckeeperverwaltet /etcin git, Sie müssen nur das Standard-VCS-Backend von bzrin gitin ändern /etc/etckeeper/etckeeper.conf.

Es wird standardmäßig in Ubuntu Linux installiert und behandelt die häufigsten Fälle, in denen ein automatischer Commit durchgeführt werden muss.
Es wird vor der Installation von Paketen festgeschrieben, falls nicht genehmigte manuelle Änderungen vorgenommen wurden, und nach der Installation.


4

Das Problem bei der Verfolgung der Konfiguration für /etcin gitist, dass alles, was Sie dadurch wirklich gewinnen, die Versionskontrolle ist (die meisten gitAnfänger wissen nicht einmal, wie tagund branchrichtig, so unwahrscheinlich zu diesem Zeitpunkt) und die Fähigkeit zum Rollback (wieder, wenn Sie es nicht sind). t taggingrichtig, gewinnen Sie nichts anderes als ein Protokoll Schuld Menschen); Aber Sie verlieren das Templating (Cant Template, weil Git das nicht bietet) und das Skalieren (Sie können die Konfiguration nirgendwo anders anwenden; insbesondere wenn Sie verteilte Datenbanken wie Elasticsearch verwenden) und die automatisierte Systemverwaltung (Git bietet dies wiederum nicht) ).

Wenn dies gesagt ist, suchen Sie wahrscheinlich nach Konfigurationsmanagement . dass Beziehungen in Templat , gitund grundlegendem scripting zu verwalten Konfiguration. Dies geht natürlich in Richtung DevOps und Infrastruktur als Code .

Dazu hinzufügen; Ansible hat ansible-pulldas neueste Repo Ihrer Playbooks abrufen können git; Gleiches gilt auch für den Küchenchef. Grundsätzlich sollten moderne Linux-Administratoren so etwas nicht verwenden etckeeper. Chef hat auch Client-Server - Modus , in dem Sie alle Systeme mit den verwalten können chef-clientbasierend auf environment, rolesund Kochbuch - Versionen; Dinge, mit denen Sie nicht gitallein und in großem Maßstab arbeiten können.


Nicht nur der Rollback bringt mich mit git. Ich bekomme auch Vergleichbarkeit (sowohl zwischen Maschinen als auch zwischen Zeit) und auch Synchronisation. Aber ich denke, die Idee über gezieltere Tools ist nützlich.
Peter
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.