Nur manchmal vergesse ich, eine Sicherungskopie einer bestimmten Linux-Datei wie /etc/rc.local
, /etc/rsyslog.conf
, /etc/dhcpcd.conf
, usw. zu erstellen und wünschte später, ich hätte es getan. Gibt es, Distributionsunabhängig, eine gute Methode, um später eine Kopie einer nicht beschädigten Kopie zu erhalten?
Antwort1
Während das Thema der Sicherung/Versionierung von Konfigurationsdateien auf den ersten Blick einfach erscheinen mag, ist es eines der wichtigsten Themen der System-/Infrastrukturadministration.
Distributionsunabhängig können Sie etckeeper als einfache Lösung installieren, um automatische Backups von /etc zu führen.
Standardmäßig wird /etc in ein Repository/Versionskontrollsystem überschrieben, das auf demselben System installiert ist.
Die Commits/Backups erfolgen standardmäßig täglich und/oder bei jedem Paket-Update.
Das etckeeper-Paket ist in praktisch allen Linux-Distributionen vorhanden.
sehen:https://help.ubuntu.com/lts/serverguide/etckeeper.html
oderhttps://wiki.archlinux.org/index.php/Etckeeper
Man könnte argumentieren, dass die Installation dieses Pakets ein guter Branchenstandard ist.
Wenn Sie etckeeper nicht installiert haben und eine bestimmte etc-Datei benötigen, gibt es mehrere Möglichkeiten; Sie können sie von einem ähnlichen System kopierenvon dir, Sie können Ihren Paketmanager bitten, die Installationsdatei herunterzuladen, oder Sie können sie manuell herunterladen und die etc-Datei von dort extrahieren. Eine der einfachsten Möglichkeiten besteht darin, mc (Midnight Commander) zu verwenden, um in Paketen zu navigieren, als wären sie Verzeichnisse.
Sie können auch die Distributions-Repositorys verwenden, um Pakete zu erhalten. Im Fall von Debian ist dieshttp://packages.debian.org
Wenn die etc./Konfigurationen letztendlich bis zur Unkenntlichkeit verstümmelt sind, haben Sie immer noch die Möglichkeit, das jeweilige Paket neu zu installieren. Verschieben Sie die etc.-Dateien in ein Backup-Verzeichnis, beispielsweise in Debian:
apt-get install --reinstall package_name
Sie können auch die Quell-Repos für Ihre bestimmte Distribution/Version konfigurieren und installieren, das Quellpaket installieren und die etc.-Dateien von dort abrufen.
https://wiki.debian.org/apt-src(wieder ein Debian-Beispiel)
In einigen Paketen verfügen Sie möglicherweise auch über Beispiele der Konfigurationsdateien unter /usr/share/doc/Paketname, die für die Verwendung geeignet sein können oder nicht.
Als letzten Ausweg können Sie Dateien usw. auch in den Repositories/GitHub-Adressen der entsprechenden Open-Source-Projekte finden. Bedenken Sie jedoch, dass Distributionen häufig Standardeinstellungen und dergleichen ändern.
Natürlich entbindet Sie keine dieser Alternativen von der Notwendigkeit, über eine solide Sicherungsrichtlinie zu verfügen und Ihre verlorenen /etc-Dateien von dort abzurufen.
Die Zeiten ändern sich auch schnell, und wenn Sie einer DevOps-Philosophie folgen, entscheiden Sie sich vielleicht auch dafür, bestimmte Systeme ganz zu verwerfen und sie erneut bereitzustellen, falls einige Dateien beschädigt werden. Sie können auch CI verwenden und die Dateien beispielsweise von Jenkins aus bereitstellen.
Antwort2
Wenn Ihre Distribution eineLive-ISO, oder Sie haben nichts dagegen, einevirtuelle Installationzu einer virtuellen Maschine (VirtualBox, VMWare usw.), dann können Sie deren Standarddateien sehen, ohne manuell durch die Paketdateien wühlen zu müssen.
Und das Installieren/Neuinstallieren/Neukonfigurieren von Paketen in der VM würde Ihre „echten“ Systemdateien nicht ändern.