Ich denke an ein System, das /etc
in 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?
configuration
git
Peter - Setzen Sie Monica wieder ein
quelle
quelle
etckeeper
das, 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.Antworten:
Das Programm
etckeeper
verwaltet/etc
ingit
, Sie müssen nur das Standard-VCS-Backend vonbzr
ingit
in ä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.
quelle
Das Problem bei der Verfolgung der Konfiguration für
/etc
ingit
ist, dass alles, was Sie dadurch wirklich gewinnen, die Versionskontrolle ist (die meistengit
Anfänger wissen nicht einmal, wietag
undbranch
richtig, so unwahrscheinlich zu diesem Zeitpunkt) und die Fähigkeit zum Rollback (wieder, wenn Sie es nicht sind). ttagging
richtig, 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 ,
git
und grundlegendem scripting zu verwalten Konfiguration. Dies geht natürlich in Richtung DevOps und Infrastruktur als Code .Dazu hinzufügen; Ansible hat
ansible-pull
das neueste Repo Ihrer Playbooks abrufen könnengit
; Gleiches gilt auch für den Küchenchef. Grundsätzlich sollten moderne Linux-Administratoren so etwas nicht verwendenetckeeper
. Chef hat auch Client-Server - Modus , in dem Sie alle Systeme mit den verwalten könnenchef-client
basierend aufenvironment
,roles
und Kochbuch - Versionen; Dinge, mit denen Sie nichtgit
allein und in großem Maßstab arbeiten können.quelle