Weboldal keresés

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:

  1. 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.
  2. 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
  3. 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.