Uvod
Preduvjeti
Korak 1: Instalirajte Etckeeper
Korak 2: Konfigurirajte /etc kao git radni direktorij Etckeepera
Korak 3: Izvršite početno urezivanje
Korak 4: Izvedite još jedno urezivanje nakon unošenja promjena u /etc
Korak 5: Opozovite promjene
Zaključak
Uvod
/etc/Imenik igra ključnu ulogu u načinu na koji je funkcija Linux sustava. Razlog za to je zato što se gotovo svaka konfiguracijska datoteka sustava nalazi unutar /etc/. Podaci koji se pohranjuju /etc/ne odnose se samo na ugrađene knjižnice sustava, već i na novoinstalirani softver i njegovu konfiguraciju. Instalacije sustava i softvera, nadogradnje i promjene konfiguracije pohranjene su u /etc/. Dakle, je li dobra praksa koristiti kontrolu verzija kada uspijevate /etc/izbjeći potencijalne pogreške uzrokovane nepredviđenim ili slučajnim lošim operacijama.
S Etckeeperom možete jednostavno upravljati /etc/svojim mehanizmom kontrole verzija koristeći Git, Mercurial, Bazaar ili Darcs spremište. Prema zadanim postavkama, Etckeeper koristi git za održavanje /etc/direktorija spremišta verzije na dnevnoj granularnosti kako bi se smanjio potencijalni gubitak podataka. Osim toga, omogućuje vam da svoje promjene unesete ručno u bilo koje vrijeme.
U ovom članku pogledajmo kako instalirati Etckeeper na instancu poslužitelja CentOS 6, kao i kako ručno izvršiti urezivanje i poništiti promjene.
Preduvjeti
Upute u ovom članku potvrđene su na instanci Vultr CentOS 6 s LEMP stogom. Upute za druge distribucije mogu biti različite.
Napomena: dobra je sigurnosna praksa pristupiti vašem sustavu kao nekorijenski korisnik sa sudo privilegijama.
Korak 1: Instalirajte Etckeeper
Etckeeper je uključen u EPEL Yum repo. Morate postaviti EPEL Yum repo prije nego što možete instalirati Etckeeper:
sudo yum install epel-release
sudo yum update
sudo yum install etckeeper
Uspješna instalacija Etckeepera automatski će instalirati git i druge ovisnosti.
Možete prilagoditi konfiguraciju Etckeepera uređivanjem konfiguracijske datoteke koja se nalazi na /etc/etckeeper/etckeeper.conf. Međutim, zadana konfiguracija je prikladna i koristit ćemo je u svrhu ovog vodiča.
Možete učiniti da Etckeeper tretira /etc/kao git radni direktorij izvršavanjem sljedećih naredbi:
cd /etc
sudo etckeeper init
Gornja podnaredba "init" stvorit će datoteku s nazivom .gitignorei direktorij nazvan .gitu /etc/.
.gitignoreSadrži unaprijed definirani popis datoteka i ne zahtijeva upravljanje i upravljanje verzijama. Ako je potrebno, možete dodati ili izbrisati nazive datoteka u njemu kako želite, samo ne zaboravite staviti jedan naziv datoteke po retku između retka # begin section managed by etckeeper...i retka # end section managed by etckeeper.
.gitImenik je mjesto za pohranu verzija spremište u /etc/imenik.
Prije početnog predanja, možete pogledati što će biti predano:
sudo etckeeper vcs status | more
vcsPod-naredba od Etckeeper će pozvati na kontrolu verzija softvera (koji je git) obavljati slijedeće pod-naredbe u /etc/imenik. Dakle, gornja naredba je jednaka:
sudo git -C /etc status | more
Pritisnite space barza okretanje stranice. Ako pronađete datoteke koje ne bi trebale biti kontrolirane verzije, dodajte ih u .gitignoredatoteku.
Sada možete urezati sav sadržaj u /etc direktoriju (osim onih datoteka definiranih u .gitignore) u svoje git spremište. Ne zaboravite napisati neke smislene komentare između dva navodnika za pregled.
sudo etckeeper commit "Initial config in /etc"
Ovdje možete komprimirati git direktorij kako biste uštedjeli prostor na disku:
sudo etckeeper vcs gc
Zajedno s git-om, Etckeeper može zabilježiti sve promjene koje se dogode u /etc/direktoriju, kao što su dodavanje, modificiranje ili brisanje datoteka, kao i promjene vlasništva i/ili dopuštenja za datoteke i direktorije. Sve pod /etc/spada pod njegovu politiku kontrole verzija.
Imajte na umu da posjedovanje /etc/pod kontrolom verzija ne znači da na njemu možete izvesti bilo kakvu operaciju. Ozbiljne loše operacije mogu učiniti sustav neoperativnim prije nego što Etckeeper može vratiti konfiguraciju u radno stanje.
Za potrebe testiranja, trebali biste napraviti samo sigurne promjene na /etc/, kao što je dodavanje nove datoteke, izmjena naziva hosta u /etc/hosts, ili instaliranje novog softvera pomoću Yum-a.
Na primjer, dodajte datoteku abcdeu /etc/:
sudo touch /etc/abcde
Zatim dodajte redak 192.168.0.2 desktopu /etc/hostsdatoteci:
echo '192.168.0.2 desktop' | sudo tee -a /etc/hosts
Konačno, možete ponovno izvesti podnaredbu "commit":
sudo etckeeper commit "add a file /etc/abcde and add a line to /etc/hosts"
Korak 5: Opozovite promjene
Prvo, možete provjeriti povijest git-a kako biste dobili ID svakog urezivanja i komentar:
sudo etckeeper vcs log
Drugo, možete provjeriti detalje bilo kojeg urezivanja s prvih nekoliko bitova njegovog ID-a urezivanja. Ovdje pretpostavljamo da je prvi ID urezivanja 7f5bff, a drugi ID urezivanja 1aa658.
sudo etckeeper vcs show 1aa658
Možete pritisnuti jza kretanje prema dolje, pritisnuti kza pomicanje prema gore, unos /keyword<Enter>za pretraživanje, pritisnuti qza prekid.
Treće, također možete usporediti razlike između dva urezivanja pomoću sljedeće naredbe. Budite svjesni slijeda od dva predanja, prirodan slijed je stavljanje prvog ispred drugog.
sudo etckeeper vcs diff 7f5bff..1aa658
Sada, ustanovili ste da ste pogrešno konfigurirali naziv hosta /etc/hoststijekom prvog i drugog predanja, ali dodavanje datoteke /etc/abcdeje ispravna operacija, možete opozvati svoju promjenu samo u /etc/hostsdatoteci sljedećom naredbom:
sudo etckeeper vcs checkout 7f5bff /etc/hosts
Ako želite poništiti sve promjene između prvog i drugog predanja, možete koristiti sljedeću naredbu:
sudo etckeeper vcs checkout 7f5bff
Naravno, još uvijek se možete vratiti na drugo urezivanje:
sudo etckeeper vcs checkout 1aa658
Zaključak
Ako je Etckeeper pravilno konfiguriran, možete podesiti i održavati svoj sustav s više samopouzdanja. Unatoč tome, imajte na umu da se kontrola verzija razlikuje od sigurnosne kopije i da /etc/direktorij nije jedino mjesto za koje morate biti zabrinuti. Kako biste održali svoj sustav u formi, osim mehanizma kontrole verzija, također morate redovito praviti sigurnosnu kopiju svog sustava.