Wéi verwalten /etc mat Versiounskontroll Mat Etckeeper op Linux
An der Unix/Linux Verzeichnisstruktur ass den /etc
Verzeichnis wou Hostspezifesch systemwäit Konfiguratiounsdateien an Verzeichnisser sinn; et ass eng zentral Plaz fir all System-breet Konfiguratiounsdateien. Eng Konfiguratiounsdatei ass eng lokal Datei déi benotzt gëtt fir ze kontrolléieren wéi e Programm funktionnéiert - et muss statesch sinn a kann net ausführbar binär sinn.
Fir d'Ännerunge vun de Systemkonfiguratiounsdateien ze verfollegen, maachen Systemadministratoren normalerweis Kopien (oder Backupen) vun Konfiguratiounsdateien ier se geännert ginn. Op déi Manéier wa se d'Originaldatei direkt geännert hunn an e Feeler gemaach hunn, kënne se op déi gespäichert Kopie zréckgoen.
Etckeeper ass eng einfach, einfach ze benotzen, modulär a konfiguréierbar Sammlung vun Tools fir /etc
mat Versiounskontroll verwaltet ze loossen. Et erlaabt Iech Ännerungen am /etc
Verzeichnis an engem Versiounskontrollsystem (VCS) wéi git (wat de bevorzugt VCS ass), Mercurial, Bazaar oder Darcs Repository ze späicheren. Also erlaabt Iech Git ze benotzen fir Ännerungen ze iwwerpréiwen oder zréckzekréien déi op /etc
gemaach goufen, am Fall vun engem Feeler.
Seng aner Funktiounen sinn:
- et ënnerstëtzt Integratioun mat Front-End Package Manager inklusiv Zypper a Pacman-g2 fir automatesch Ännerunge fir
/etc
während Package Upgrades z'engagéieren. - et verfollegt Dateimetadaten (wéi d'Datei Permissiounen) déi git normalerweis net ënnerstëtzt, awer dat ass wichteg fir
/etc
, an - et enthält souwuel e Cron Job wéi och e Systemd Timer, dee jidderee kann ausgoend Ännerungen op
/etc
automatesch eemol pro Dag maachen.
Wéi installéiere ech Etckeeper op Linux
Etckeeper ass verfügbar an Debian, Ubuntu, Fedora, an aner Linux Verdeelungen. Fir et z'installéieren, benotzt Äre Standard Package Manager wéi gewisen. Notéiert datt dëse Kommando och git an e puer aner Packagen als Ofhängegkeeten installéiere wäert.
$ 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
Op Enterprise Linux Verdeelungen wéi RedHat Enterprise Linux (RHEL), CentOS an anerer, musst Dir den EPEL Repository derbäi setzen ier Dir se installéiert wéi gewisen.
# yum install epel-release # yum install etckeeper
Etckeeper an Linux konfiguréieren
Wann Dir etckeeper installéiert hutt wéi uewen gewisen, musst Dir konfiguréieren wéi et funktionnéiert a seng Haaptkonfiguratiounsdatei ass /etc/etckeeper/etckeeper.conf. Fir et opzemaachen fir z'änneren, benotzt ee vun Äre Liiblingstext-baséiert Redaktoren wéi gewisen.
# vim /etc/etckeeper/etckeeper.conf OR $ sudo nano /etc/etckeeper/etckeeper.conf
De Fichier enthält e puer Configuratioun Optiounen (all mat enger klenger, kloer Benotzen Beschreiwung) déi erlaben Iech d'Versioun Kontroll System (VCS) ze benotzen, Pass Optiounen ze VSC; fir den Timer z'aktivéieren oder auszeschalten, eng speziell Dateiwarnung z'aktivéieren oder auszeschalten, etckeeper z'aktivéieren oder auszeschalten fir existent Ännerungen op /etc
virun der Installatioun ze maachen.
Och kënnt Dir de Front-End oder méi héije Package Manager (wéi Rpm etc.) setzen fir mat etckeeper ze schaffen.
Wann Dir eng Ännerung(en) an der Datei gemaach hutt, späichert se a maach d'Datei zou.
Initialiséiere vum Git Repository a Leeschtunge initial Verpflichtung
Elo datt Dir etckeeper konfiguréiert hutt, musst Dir de Git Repository initialiséieren fir all Ännerungen an Ärem /etc
Verzeechnes wéi follegt ze verfolgen. Dir kënnt nëmme etckeeper mat root Permissiounen lafen, soss benotzt sudo.
$ cd $ sudo etckeeper init
Als nächst, Schrëtt fir etckeeper fir automatesch ze schaffen, musst Dir den éischte Verpflichtung ausféieren fir d'Ännerungen an /etc
ze verfollegen, wéi follegt.
$ sudo etckeeper commit "first commit"
Nodeems Dir Ären éischten Engagement ausgefouert hutt, verfollegt etckeeper iwwer git elo all Ännerungen am /etc
Verzeichnis. Elo probéiert all Ännerungen an enger vun de Konfiguratiounsdateien ze maachen.
Fuert dann de folgende Kommando fir Dateien ze weisen déi zënter dem leschte Verpflichtung geännert hunn; Dëse Kommando weist am Wesentlechen d'Ännerungen am /etc
net inszenéiert fir eng Verpflichtung, wou VCS heescht git an Status ass e git Ënnerbefehl.
$ sudo etckeeper vcs status
Dann engagéieren déi rezent Ännerungen wéi follegt.
$ sudo etckeeper commit "changed hosts and phpmyadmin config files"
Fir e Log vun all Verpflichtungen ze gesinn (all Engagement ID a Kommentar), kënnt Dir de folgende Kommando ausféieren.
$ sudo etckeeper vcs log
Dir kënnt och d'Detailer vun engem Verpflichtung weisen, einfach d'Verpflichtung ID uginn (déi éischt puer Zeeche kënne funktionnéieren) wéi gewisen.:
$ sudo etckeeper vcs show a153b68479d0c440cc42c228cbbb6984095f322d OR $ sudo etckeeper vcs show a153b6847
Ausserdeem kënnt Dir den Ënnerscheed tëscht zwee Verpflichtungen kucken wéi gewisen. Dëst ass besonnesch nëtzlech wann Dir Ännerunge wëllt zréckzéien wéi an der nächster Sektioun gewisen. Dir kënnt d'Pfeiltaste benotze fir erop an erof oder lénks a riets ze scrollen, a gitt op andeems Dir q
dréckt.
$ sudo etckeeper vcs show 704cc56 a153b6847
D'Essenz vum etckeeper ass Iech ze hëllefen Ännerunge vun Ärem /etc
Verzeechnes ze verfollegen an d'Ännerungen ëmgedréint wann néideg. Ugeholl datt Dir mierkt datt Dir e puer Feeler am /etc/nginx/nginx.conf gemaach hutt wann Dir et fir d'lescht geännert hutt an den Nginx Service kann net nei gestart ginn wéinst Feeler an der Konfiguratiounsstruktur, kënnt Dir op déi gespäichert Kopie an engem spezifeschen zréckgoen. engagéieren (zB 704cc56) wou Dir mengt datt d'Konfiguratioun richteg war wéi follegt.
$ sudo etckeeper vcs checkout 704cc56 /etc/nginx/nginx.conf
Alternativ kënnt Dir all Ännerungen annuléieren an zréck op Versioune vun all Dateien ënner /etc
(a seng Ënnerverzeechnungen) déi an engem spezifesche Verpflichtung gespäichert sinn.
$ sudo etckeeper vcs checkout 704cc56
Wéi aktivéiert Ännerunge fir automatesch engagéiert ze ginn
Etckeeper Schëffer och mat engem Service an Timer Unitéiten fir Systemd, am Pak abegraff. Fir \Autocommit vun Ännerungen am /etc
Verzeichnis ze lancéieren, start einfach etckeeper.timer
Eenheet fir elo a kontrolléiert ob se op a leeft, wéi follegt.
$ sudo systemctl start etckeeper.timer $ sudo systemctl status etckeeper.timer
An aktivéiert et automatesch beim Systemboot starten wéi gewisen.
$ sudo systemctl enable etckeeper.timer
Fir méi Informatioun, kuckt d'Etckeeper Project Page: https://etckeeper.branchable.com/.
An dësem Guide hu mir gewisen, wéi Dir etckeeper installéiere a benotzt fir Ännerungen am /etc
Verzeechnes an engem Versiounskontrollsystem (VCS) wéi git an iwwerpréiwen oder zréckzekréien Ännerungen déi op /etc
, wou néideg. Deelt Är Gedanken oder stellt Froen iwwer etckeeper iwwer de Feedbackformular hei ënnen.