Kako upravljati/itd. S kontrolom verzija pomoću programa Etckeeper na Linuxu
U strukturi direktorija Unix/Linux, direktorij /etc
je mjesto gdje se nalaze konfiguracijske datoteke i direktoriji specifični za cijeli sustav; to je središnje mjesto za sve konfiguracijske datoteke širom sustava. Konfiguracijska datoteka je lokalna datoteka koja se koristi za kontrolu rada programa - ona mora biti statična i ne može biti izvršna binarna datoteka.
Da bi pratili promjene u konfiguracijskim datotekama sustava, administratori sustava prije kopiranja (ili sigurnosnih kopija) kopiraju konfiguracijske datoteke. Na taj se način, ako su izravno izmijenili izvornu datoteku i pogriješili, mogu vratiti na spremljenu kopiju.
Etckeeper je jednostavna, lagana za upotrebu, modularna i podesiva zbirka alata za upravljanje /etc
pomoću kontrole verzija. Omogućuje vam pohranjivanje promjena u direktorij /etc
u sustav za kontrolu verzija (VCS), poput gita (koji je preferirani VCS), mercurial, bazaar ili repozitorij darcs. Tako vam omogućuje upotrebu gita za pregled ili poništavanje promjena izvršenih u /etc
, u slučaju pogreške.
Ostale su njegove značajke:
- podržava integraciju s front-end upraviteljima paketa, uključujući Zypper i pacman-g2, za automatsko urezivanje promjena napravljenih u
/etc
tijekom nadogradnji paketa. - prati metapodatke datoteke (poput dozvola datoteke) koje git obično ne podržava, ali koji su važni za
/etc
i - uključuje i cron posao i sistemski tajmer, koji svaki može automatski izvršiti izlazne promjene u
/etc
jednom dnevno.
Kako instalirati Etckeeper u Linux
Etckeeper je dostupan u distribucijama Debian, Ubuntu, Fedora i drugim Linuxima. Da biste ga instalirali, upotrijebite zadani upravitelj paketa kao što je prikazano. Imajte na umu da će ova naredba također instalirati git i nekoliko drugih paketa kao ovisnosti.
$ 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
U distribucije Enterprise Linuxa kao što su RedHat Enterprise Linux (RHEL), CentOS i druge, morate dodati spremište EPEL prije nego što ga instalirate kako je prikazano.
# yum install epel-release # yum install etckeeper
Konfiguriranje Etckeeper-a u Linuxu
Nakon što instalirate etckeeper kao što je prikazano gore, morate konfigurirati kako će raditi i njegova glavna konfiguracijska datoteka je /etc/etckeeper/etckeeper.conf. Da biste ga otvorili za uređivanje, upotrijebite bilo koji od svojih omiljenih uređivača koji se temelje na tekstu, kao što je prikazano.
# vim /etc/etckeeper/etckeeper.conf OR $ sudo nano /etc/etckeeper/etckeeper.conf
Datoteka sadrži nekoliko opcija konfiguracije (svaka s malim, jasnim opisom upotrebe) koje vam omogućuju postavljanje sustava za kontrolu verzija (VCS) na upotrebu, prosljeđivanje opcija VSC-u; da biste omogućili ili onemogućili tajmer, omogućili ili onemogućili posebno upozorenje datoteke, omogućili ili onemogućili etckeeper da izvrši postojeće promjene u /etc
prije instalacije.
Također, možete postaviti prednji upravljač ili upravitelj paketa više razine (kao što su rpm itd.) Za rad s programom etckeeper.
Ako ste unijeli bilo kakve promjene u datoteci, spremite ih i zatvorite datoteku.
Inicijalizacija Git spremišta i izvođenje početnog predavanja
Sada kada ste konfigurirali etckeeper, morate inicijalizirati Git spremište kako biste započeli praćenje svih promjena u vašem direktoriju /etc
kako slijedi. Etckeeper možete pokrenuti samo s root dopuštenjima, inače koristite sudo.
$ cd $ sudo etckeeper init
Dalje, korak kako bi etckeeper mogao automatski raditi, trebate pokrenuti prvi predaj da biste započeli praćenje promjena u /etc
, kako slijedi.
$ sudo etckeeper commit "first commit"
Nakon pokretanja vašeg prvog urezivanja, etckeeper putem gita sada prati sve promjene u direktoriju /etc
. Sada pokušajte unijeti bilo kakve promjene u bilo koju od konfiguracijskih datoteka.
Zatim pokrenite sljedeću naredbu za prikaz datoteka koje su se promijenile od zadnjeg urezivanja; ova naredba u osnovi prikazuje promjene u /etc
koje nisu uprizorene za urezivanje, pri čemu VCS znači git, a "status" je git podnaredba.
$ sudo etckeeper vcs status
Zatim izvršite nedavne promjene kako slijedi.
$ sudo etckeeper commit "changed hosts and phpmyadmin config files"
Da biste pregledali zapisnik svih predavanja (ID i komentar svakog predaja), možete pokrenuti sljedeću naredbu.
$ sudo etckeeper vcs log
Također možete prikazati detalje urezivanja, jednostavno navedite ID urezivanja (prvih nekoliko znakova može raditi) kao što je prikazano:
$ sudo etckeeper vcs show a153b68479d0c440cc42c228cbbb6984095f322d OR $ sudo etckeeper vcs show a153b6847
Osim toga, možete vidjeti razliku između dva urezivanja kako je prikazano. To je posebno korisno ako želite opozvati promjene kao što je prikazano u sljedećem odjeljku. Pomoću tipki sa strelicama možete se pomicati gore-dolje ili lijevo-desno i napustiti pritiskom na q
.
$ sudo etckeeper vcs show 704cc56 a153b6847
Suština etckeeper-a je pomoć u praćenju promjena u direktoriju /etc
i poništavanje promjena po potrebi. Pod pretpostavkom da shvatite da ste napravili neke pogreške u /etc/nginx/nginx.conf kad ste ga zadnji put uređivali i da se Nginx usluga ne može ponovo pokrenuti zbog pogrešaka u konfiguracijskoj strukturi, možete se vratiti na spremljenu kopiju u određenom izvrši (npr. 704cc56) tamo gdje misliš da je konfiguracija ispravna kako slijedi.
$ sudo etckeeper vcs checkout 704cc56 /etc/nginx/nginx.conf
Možete i otkazati sve promjene i vratiti se na verzije svih datoteka u /etc
(i njegovim poddirektorijima) pohranjenim u određenom urezivanju.
$ sudo etckeeper vcs checkout 704cc56
Kako omogućiti automatsko izvršavanje promjena
Etckeeper također isporučuje uslužne i vremenske jedinice za Systemd, uključene u paket. Da biste pokrenuli “Autocommit” promjena u direktoriju /etc
, jednostavno za sada pokrenite etckeeper.timer
jedinicu i provjerite radi li, kako slijedi.
$ sudo systemctl start etckeeper.timer $ sudo systemctl status etckeeper.timer
I omogućite mu automatsko pokretanje pri pokretanju sustava kao što je prikazano.
$ sudo systemctl enable etckeeper.timer
Za više informacija pogledajte stranicu projekta Etckeeper: https://etckeeper.branchable.com/.
U ovom smo priručniku pokazali kako instalirati i koristiti etckeeper za spremanje promjena u direktorij /etc
u sustavu za kontrolu verzija (VCS) kao što je git te pregledati ili vratiti promjene koje su napravljene u /etc
, gdje je potrebno. Podijelite svoja razmišljanja ili postavljajte pitanja o etckeeperu putem obrasca za povratne informacije u nastavku.