Kako upravljati/itd. Z nadzorom različic z uporabo programske opreme Etckeeper v Linuxu


V imeniški strukturi Unix/Linux je v imeniku /etc tam, kjer so nameščene celotne sistemske konfiguracijske datoteke in imeniki; je osrednje mesto za vse sistemske konfiguracijske datoteke. Konfiguracijska datoteka je lokalna datoteka, ki se uporablja za nadzor nad delovanjem programa - mora biti statična in ne sme biti izvršljiva binarna datoteka.

Za sledenje spremembam sistemskih konfiguracijskih datotek sistemski skrbniki običajno pred njihovo spreminjanjem naredijo kopije (ali varnostne kopije) konfiguracijskih datotek. Na ta način se lahko vrnejo na shranjeno kopijo, če so izvirno datoteko neposredno spremenili in naredili napako.

Etckeeper je preprosta, enostavna za uporabo, modularna in nastavljiva zbirka orodij, s katerimi lahko /etc upravljate s pomočjo nadzora različic. Omogoča vam shranjevanje sprememb v imeniku /etc v sistemu za nadzor različic (VCS), kot je git (ki je najprimernejši VCS), živosrebro, bazar ali repozitorij darcs. Tako lahko uporabite git za pregled ali razveljavitev sprememb, ki so bile narejene v /etc , v primeru napake.

Njegove druge značilnosti so:

  1. podpira integracijo s čelnimi skrbniki paketov, vključno z Zypper in pacman-g2, za samodejno urejanje sprememb, narejenih v /etc med nadgradnjo paketov.
  2. sledi metapodatkom datotek (kot so dovoljenja za datoteke), ki jih git običajno ne podpira, vendar je to pomembno za /etc in
  3. vključuje tako opravilo cron kot sistemski časovnik, ki lahko vsakega samodejno izvede izhodne spremembe v /etc enkrat na dan.

Kako namestiti Etckeeper v Linux

Etckeeper je na voljo v distribucijah Debian, Ubuntu, Fedora in drugih Linux. Če ga želite namestiti, uporabite privzeti upravitelj paketov, kot je prikazano. Upoštevajte, da bo ta ukaz kot odvisnosti namestil tudi git in nekaj drugih paketov.

$ 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

V distribucije Enterprise Linux, kot so RedHat Enterprise Linux (RHEL), CentOS in druge, morate dodati repozitorij EPEL, preden ga namestite, kot je prikazano.

# yum install epel-release
# yum install etckeeper

Konfiguriranje Etckeeperja v Linuxu

Ko namestite etckeeper, kot je prikazano zgoraj, morate konfigurirati njegovo delovanje in njegova glavna konfiguracijska datoteka je /etc/etckeeper/etckeeper.conf. Če ga želite odpreti za urejanje, uporabite katerega koli od vaših najljubših urejevalnikov besedil, kot je prikazano.

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

Datoteka vsebuje več možnosti konfiguracije (vsaka z majhnim, jasnim opisom uporabe), ki omogoča nastavitev sistema za nadzor različic (VCS) in posredovanje možnosti VSC; da omogočite ali onemogočite časovnik, omogočite ali onemogočite posebno opozorilo o datotekah, omogočite ali onemogočite etckeeper, da pred namestitvijo izvede obstoječe spremembe v /etc .

Prav tako lahko nastavite čelni upravitelj ali upravitelj paketov na višji ravni (na primer rpm itd.) Za delo z etckeeperjem.

Če ste v datoteki naredili kakršne koli spremembe, jih shranite in zaprite.

Inicializacija skladišča Git in izvedba začetne odobritve

Zdaj, ko ste konfigurirali etckeeper, morate inicializirati repozitorij Git, da začnete slediti spremembam v vašem imeniku /etc , kot sledi. Etckeeper lahko zaženete samo s korenskimi dovoljenji, sicer uporabite sudo.

$ cd 
$ sudo etckeeper init

Nato korak za etckeeper, da lahko samodejno deluje, morate zagnati prvo objavo, da začnete slediti spremembam v /etc , kot sledi.

$ sudo etckeeper commit "first commit"

Po zagonu prve odobritve etckeeper prek gita zdaj sledi vsem spremembam v imeniku /etc . Zdaj poskusite spremeniti katero koli konfiguracijsko datoteko.

Nato zaženite naslednji ukaz, da prikažete datoteke, ki so se spremenile od zadnjega urejanja; ta ukaz v bistvu prikazuje spremembe v /etc , ki niso uprizorjene za objavo, pri čemer VCS pomeni git,\"status" pa je git pod-ukaz.

$ sudo etckeeper vcs status

Nato vnesite nedavne spremembe, kot sledi.

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

Če si želite ogledati dnevnik vseh predaj (ID in komentar vsakega prevoda), lahko zaženete naslednji ukaz.

$ sudo etckeeper vcs log

Prikažete lahko tudi podrobnosti urejanja, preprosto določite ID predaja (prvih nekaj znakov lahko deluje), kot je prikazano .:

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

Poleg tega si lahko ogledate razliko med dvema prevzemoma, kot je prikazano. To je še posebej koristno, če želite preklicati spremembe, kot je prikazano v naslednjem razdelku. S puščičnimi tipkami se lahko premikate gor in dol ali levo in desno in zaprete s pritiskom na q .

$ sudo etckeeper vcs show 704cc56 a153b6847

Bistvo programa etckeeper je, da vam pomaga slediti spremembam v imeniku /etc in spremembe po potrebi obrniti. Ob predpostavki, da se zavedate, da ste naredili nekaj napak v datoteki /etc/nginx/nginx.conf, ko ste jo nazadnje uredili, in storitve Nginx zaradi napak v konfiguracijski strukturi ni mogoče znova zagnati, se lahko vrnete na shranjeno kopijo v določenem zavežite (npr. 704cc56), kjer menite, da je bila konfiguracija pravilna, kot sledi.

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

Lahko pa prekličete vse spremembe in se vrnete na različice vseh datotek pod /etc (in njenimi podimeniki), shranjenimi v določeni predaji.

$ sudo etckeeper vcs checkout 704cc56 

Kako omogočiti samodejno izvajanje sprememb

Etckeeper dobavlja tudi servisne in časovne enote za Systemd, ki so vključene v paket. Če želite zagnati\"Autocommit" sprememb v imeniku /etc , zaenkrat preprosto zaženite enoto etckeeper.timer in preverite, ali deluje in deluje, kot sledi.

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

In omogočite samodejni zagon ob zagonu sistema, kot je prikazano.

$ sudo systemctl enable etckeeper.timer

Za več informacij glejte stran projekta Etckeeper: https://etckeeper.branchable.com/.

V tem priročniku smo pokazali, kako namestiti in uporabiti etckeeper za shranjevanje sprememb v imeniku /etc v sistemu za nadzor različic (VCS), kot je git, in pregledati ali razveljaviti spremembe, ki so bile narejene v /etc , kjer je to potrebno. Delite svoje misli ali postavite vprašanja o etckeeperju prek spodnjega obrazca za povratne informacije.