Az /etc kezelése verzióvezérléssel az Etckeeper használatával Linuxon
A Unix/Linux könyvtárstruktúrában a /etc
könyvtárban találhatók a gazdagép-specifikus, rendszerszintű konfigurációs fájlok és könyvtárak; ez az összes rendszerszintű konfigurációs fájl központi helye. A konfigurációs fájl egy helyi fájl, amely a program működését szabályozza – statikusnak kell lennie, és nem lehet végrehajtható bináris fájl.
A rendszerkonfigurációs fájlok változásainak nyomon követése érdekében a rendszergazdák általában másolatot készítenek (vagy biztonsági másolatot) készítenek a konfigurációs fájlokról, mielőtt módosítanák azokat. Így ha közvetlenül módosították az eredeti fájlt, és hibát követtek el, visszatérhetnek a mentett másolathoz.
Az Etckeeper egy egyszerű, könnyen használható, moduláris és konfigurálható eszközgyűjtemény, amely lehetővé teszi az /etc
verziókezeléssel történő kezelését. Lehetővé teszi a változtatások tárolását a /etc
könyvtárban egy verzióvezérlő rendszerben (VCS), például a gitben (amely a preferált VCS), a Mercurial, a bazár vagy a darcs tárolóban. . Így hiba esetén a git segítségével áttekintheti vagy visszaállíthatja a /etc
fájlban végrehajtott módosításokat.
További jellemzői a következők:
- támogatja az integrációt a front-end csomagkezelőkkel, beleértve az APT-t, a YUM-ot, a DNF-et, a Zyppert és a pacman-g2-t, hogy automatikusan véglegesítse a csomagfrissítés során a
/etc
fájlban végrehajtott módosításokat. - nyomon követi a fájlok metaadatait (például a fájljogosultságokat), amelyeket a git általában nem támogat, de ez fontos a
/etc
számára, és - tartalmaz egy cron feladatot és egy systemd időzítőt is, amelyek mindegyike naponta egyszer automatikusan végrehajtja a kilépő változtatásokat a
/etc
fájlban.
Az Etckeeper telepítése Linux alatt
Az Etckeeper elérhető a Debian, az Ubuntu, a Fedora és más Linux-disztribúciókban. A telepítéshez használja az alapértelmezett csomagkezelőt az ábrán látható módon. Vegye figyelembe, hogy ez a parancs a git és néhány más csomagot is telepíti függőségként.
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
Az Enterprise Linux disztribúcióknál, mint például a RedHat Enterprise Linux (RHEL), CentOS és mások, hozzá kell adnia a EPEL-tárházat, mielőtt az ábrán látható módon telepítené.
yum install epel-release
yum install etckeeper
Az Etckeeper konfigurálása Linux alatt
Miután a fentiek szerint telepítette az etckeeper alkalmazást, be kell állítania a működését, és a fő konfigurációs fájlja az /etc/etckeeper/etckeeper.conf. Szerkesztésre való megnyitásához használja bármelyik kedvenc szövegalapú szerkesztőjét az ábrán látható módon.
vim /etc/etckeeper/etckeeper.conf
OR
sudo nano /etc/etckeeper/etckeeper.conf
A fájl számos konfigurációs lehetőséget tartalmaz (mindegyik kisméretű, világos használati leírással), amelyek lehetővé teszik a verzióvezérlő rendszer (VCS) beállítását, a beállítások átadását a VSCnek; az időzítő engedélyezése vagy letiltása, a speciális fájlokra való figyelmeztetés engedélyezése vagy letiltása, az etckeeper engedélyezése vagy letiltása a /etc
meglévő módosításainak végrehajtásában a telepítés előtt.
Ezenkívül beállíthatja az előtér- vagy magasabb szintű csomagkezelőt (például apt, yum, dnf stb.) és az alapul szolgáló vagy alacsony szintű csomagkezelőt (dpkg, rpm stb.), hogy működjenek együtt az etckeeper -lel .
Ha bármilyen változtatást hajtott végre a fájlban, mentse el, és zárja be a fájlt.
A Git Repository inicializálása és a kezdeti véglegesítés végrehajtása
Most, hogy beállította az etckeepert, inicializálnia kell a Git tárolót, hogy elkezdje nyomon követni az /etc
könyvtárában bekövetkezett változásokat az alábbiak szerint. Az etckeeper programot csak root jogosultságokkal futtathatja, ellenkező esetben használja a sudo-t.
cd
sudo etckeeper init
Következő lépésként, hogy az etckeeper automatikusan működjön, le kell futtatnia az első véglegesítést, hogy nyomon kövesse az /etc
változásait, az alábbiak szerint.
sudo etckeeper commit "first commit"
Változások végrehajtása és elköteleződés
Az első véglegesítés futtatása után az etckeeper a git segítségével most nyomon követi az /etc
könyvtár változásait. Most próbáljon meg bármilyen módosítást végrehajtani bármelyik konfigurációs fájlban.
Ezután futtassa a következő parancsot az utolsó véglegesítés óta megváltozott fájlok megjelenítéséhez; ez a parancs lényegében az /etc
módosításait mutatja be, amelyek nem véglegesítésre kerülnek, ahol a VCS jelentése git, a „status” pedig egy git-alparancs.
sudo etckeeper vcs status
Ezután hajtsa végre a legutóbbi módosításokat az alábbiak szerint.
sudo etckeeper commit "changed hosts and phpmyadmin config files"
Végrehajtási naplók megtekintése
Az összes véglegesítés naplójának megtekintéséhez (minden véglegesítés azonosítója és megjegyzése) futtassa a következő parancsot.
sudo etckeeper vcs log
Megjelenítheti a véglegesítés részleteit is, egyszerűen adja meg a commit ID-t (az első néhány karakter működhet) az ábrán látható módon.:
sudo etckeeper vcs show a153b68479d0c440cc42c228cbbb6984095f322d
OR
sudo etckeeper vcs show a153b6847
Ezenkívül megtekintheti a két véglegesítés közötti különbséget az ábrán látható módon. Ez különösen akkor hasznos, ha vissza akarja vonni a módosításokat a következő részben látható módon. A nyílbillentyűkkel görgethet fel és le, illetve balra és jobbra, és kiléphet a q
megnyomásával.
sudo etckeeper vcs show 704cc56 a153b6847
Hogyan lehet visszavonni a változtatásokat
Az etckeeper lényege, hogy segít nyomon követni a /etc
könyvtár változásait, és szükség esetén visszafordítani a változtatásokat. Feltéve, hogy felismeri, hogy hibázott az /etc/nginx/nginx.conf fájlban, amikor legutóbb szerkesztette, és az Nginx szolgáltatást nem lehet újraindítani a konfigurációs struktúra hibái miatt, akkor visszatérhet. a mentett másolatra egy adott véglegesítésben (pl. 704cc56), ahol Ön szerint a konfiguráció helyes volt az alábbiak szerint.
sudo etckeeper vcs checkout 704cc56 /etc/nginx/nginx.conf
Alternatív megoldásként visszavonhatja az összes módosítást, és visszatérhet a /etc
alatt található összes fájl verziójához (és annak alkönyvtáraihoz), amelyek egy adott véglegesítésben vannak tárolva.
sudo etckeeper vcs checkout 704cc56
Hogyan lehet engedélyezni a változtatások automatikus véglegesítését
Az Etckeeper szolgáltatást és időzítő egységeket is szállít a Systemdhez, amelyeket a csomag tartalmaz. A változtatások „Autocommit ” elindításához az /etc
könyvtárban, egyszerűen indítsa el az etckeeper.timer
egységet, és ellenőrizze, hogy működik-e. , alábbiak szerint.
sudo systemctl start etckeeper.timer
sudo systemctl status etckeeper.timer
És engedélyezze az automatikus indítást a rendszerindításkor, az ábrán látható módon.
sudo systemctl enable etckeeper.timer
További információkért látogasson el az Etckeeper projekt oldalára: https://etckeeper.branchable.com/.
Következtetés
Ebben az útmutatóban bemutattuk, hogyan kell telepíteni és használni az etckeeper alkalmazást a /etc
könyvtárban lévő változtatások tárolására egy verziókezelő rendszerben (VCS). például git, és szükség esetén ellenőrizze vagy vonja vissza a /etc
fájlban végrehajtott módosításokat. Ossza meg gondolatait, vagy tegyen fel kérdéseket az etckeeper-ről az alábbi visszajelzési űrlapon keresztül.