Hvernig á að stjórna /etc með útgáfustýringu með því að nota Etckeeper á Linux


Í Unix/Linux möppuskipulaginu er /etc skráin þar sem hýsilsértækar stillingarskrár og möppur eru staðsettar fyrir allt kerfið; það er miðlæg staðsetning fyrir allar stillingarskrár í heild sinni. Stillingarskrá er staðbundin skrá sem notuð er til að stjórna því hvernig forrit virkar - hún verður að vera kyrrstæð og getur ekki verið keyranleg tvöfaldur.

Til að fylgjast með breytingum á kerfisstillingarskrám gera kerfisstjórar venjulega afrit (eða afrit) af stillingarskrám áður en þeim er breytt. Þannig ef þeir breyttu upprunalegu skránni beint og gerðu mistök geta þeir farið aftur í vistað afrit.

Etckeeper er einfalt, auðvelt í notkun, mát og stillanlegt safn verkfæra til að láta stjórna /etc með útgáfustýringu. Það gerir þér kleift að geyma breytingar í /etc skránni í útgáfustýringarkerfi (VCS) eins og git (sem er valinn VCS), Mercurial, Bazaar eða darcs geymsla. Þannig að leyfa þér að nota git til að endurskoða eða afturkalla breytingar sem voru gerðar á /etc, ef mistök verða.

Aðrir eiginleikar þess eru:

  1. það styður samþættingu við framendapakkastjóra, þar á meðal Zypper og pacman-g2, til að framkvæma sjálfkrafa breytingar sem gerðar eru á /etc við uppfærslu pakka.
  2. það rekur lýsigögn skráa (eins og skráarheimildir) sem git styður venjulega ekki, en það er mikilvægt fyrir /etc, og
  3. það inniheldur bæði cron-verk og systemd-teljara, sem hver getur framkvæmt lokabreytingar á /etc sjálfkrafa einu sinni á dag.

Hvernig á að setja upp Etckeeper í Linux

Etckeeper er fáanlegt í Debian, Ubuntu, Fedora og öðrum Linux dreifingum. Til að setja það upp skaltu nota sjálfgefna pakkastjórann eins og sýnt er. Athugaðu að þessi skipun mun einnig setja upp git og nokkra aðra pakka sem ósjálfstæði.

$ 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

Á Enterprise Linux dreifingum eins og RedHat Enterprise Linux (RHEL), CentOS og fleirum þarftu að bæta við EPEL geymslunni áður en þú setur það upp eins og sýnt er.

# yum install epel-release
# yum install etckeeper

Stilla Etckeeper í Linux

Þegar þú hefur sett upp etckeeper eins og sýnt er hér að ofan þarftu að stilla hvernig það virkar og aðal stillingarskrá þess er /etc/etckeeper/etckeeper.conf. Til að opna það til að breyta, notaðu einhvern af uppáhalds textaritstýrlunum þínum eins og sýnt er.

# vim /etc/etckeeper/etckeeper.conf
OR
$ sudo nano /etc/etckeeper/etckeeper.conf

Skráin inniheldur nokkra stillingarvalkosti (hver með lítilli, skýrri notkunarlýsingu) sem gerir þér kleift að stilla útgáfustýringarkerfið (VCS) til að nota, senda valkosti til VSC; til að virkja eða slökkva á tímamæli, virkja eða slökkva á sérstakri skráaviðvörun, virkja eða slökkva á etckeeper frá því að framkvæma núverandi breytingar á /etc fyrir uppsetningu.

Einnig er hægt að stilla framhlið eða hærra stigi pakkastjóra (eins og rpm osfrv.) til að vinna með etckeeper.

Ef þú hefur gert einhverjar breytingar á skránni skaltu vista hana og loka skránni.

Frumstilla Git geymsluna og framkvæma upphaflega skuldbindingu

Nú þegar þú hefur stillt etckeeper þarftu að frumstilla Git geymsluna til að byrja að rekja allar breytingar á /etc skránni þinni sem hér segir. Þú getur aðeins keyrt etckeeper með rótarheimildum, annars notaðu sudo.

$ cd 
$ sudo etckeeper init

Næst, skref fyrir etckeeper til að geta unnið sjálfkrafa, þú þarft að keyra fyrsta commit til að byrja að fylgjast með breytingunum í /etc, eins og hér segir.

$ sudo etckeeper commit "first commit"

Eftir að hafa keyrt fyrsta commit þinn, er etckeeper í gegnum git núna að rekja allar breytingar í /etc möppunni. Reyndu nú að gera einhverjar breytingar á hvaða stillingarskrá sem er.

Keyrðu síðan eftirfarandi skipun til að sýna skrár sem hafa breyst frá síðustu commit; þessi skipun sýnir í raun og veru breytingarnar á /etc sem ekki eru settar í commit, þar sem VCS þýðir git og \status er git undirskipun.

$ sudo etckeeper vcs status

Skuldbinda síðan nýlegar breytingar sem hér segir.

$ sudo etckeeper commit "changed hosts and phpmyadmin config files"

Til að skoða skrá yfir allar skuldbindingar (auðkenni hvers skuldbindingar og athugasemd) geturðu keyrt eftirfarandi skipun.

$ sudo etckeeper vcs log

Þú getur líka sýnt upplýsingar um skuldbindingu, einfaldlega tilgreindu framsetningarauðkenni (fyrstu stafirnir geta virkað) eins og sýnt er.:

$ sudo etckeeper vcs show a153b68479d0c440cc42c228cbbb6984095f322d
OR
$ sudo etckeeper vcs show a153b6847

Að auki geturðu séð muninn á tveimur skuldbindingum eins og sýnt er. Þetta er sérstaklega gagnlegt ef þú vilt afturkalla breytingar eins og sýnt er í næsta kafla. Þú getur notað örvatakkana til að fletta upp og niður eða til vinstri og hægri og hætt með því að ýta á q.

$ sudo etckeeper vcs show 704cc56 a153b6847

Kjarninn í etckeeper er að hjálpa þér að fylgjast með breytingum á /etc skránni þinni og snúa við breytingunum þar sem þörf krefur. Að því gefnu að þú gerir þér grein fyrir því að þú hafir gert einhverjar villur í /etc/nginx/nginx.conf þegar þú breyttir því síðast og ekki er hægt að endurræsa Nginx þjónustuna vegna villna í stillingaruppbyggingunni, geturðu farið aftur í vistaða afritið í tilteknu afriti skuldbinda sig (t.d. 704cc56) þar sem þú heldur að uppsetningin hafi verið rétt sem hér segir.

$ sudo etckeeper vcs checkout 704cc56 /etc/nginx/nginx.conf

Að öðrum kosti geturðu hætt við allar breytingar og farið aftur í útgáfur af öllum skrám undir /etc (og undirmöppum þess) sem eru geymdar í tiltekinni commit.

$ sudo etckeeper vcs checkout 704cc56 

Hvernig á að gera kleift að framkvæma breytingar sjálfkrafa

Etckeeper sendir einnig með þjónustu- og tímamæliseiningum fyrir Systemd, innifalið í pakkanum. Til að ræsa \Sjálfvirka skuldbindingu breytinga í /etc skránni skaltu einfaldlega ræsa etckeeper.timer eininguna í bili og athuga hvort hún sé í gangi, eins og hér segir.

$ sudo systemctl start etckeeper.timer
$ sudo systemctl status etckeeper.timer

Og virkjaðu það til að ræsa sjálfkrafa við ræsingu kerfisins eins og sýnt er.

$ sudo systemctl enable etckeeper.timer

Fyrir frekari upplýsingar, sjá Etckeeper Project Page: https://etckeeper.branchable.com/.

Í þessari handbók höfum við sýnt hvernig á að setja upp og nota etckeeper til að geyma breytingar í /etc skránni í útgáfustýringarkerfi (VCS) eins og git og skoða eða afturkalla breytingar sem voru gerðar á /etc, þar sem þörf krefur. Deildu hugsunum þínum eða spurðu spurninga um etckeeper í gegnum athugasemdaformið hér að neðan.