Introduksjon
Forutsetninger
Trinn 1: Installer Etckeeper
Trinn 2: Konfigurer /etc som git-arbeidsmappen til Etckeeper
Trinn 3: Utfør den første forpliktelsen
Trinn 4: Utfør en ny forpliktelse etter å ha gjort endringer i /etc
Trinn 5: Tilbakekall endringene dine
Konklusjon
Introduksjon
Den /etc/katalogen spiller en avgjørende rolle i måten en Linux-systemet fungerer. Grunnen til dette er fordi nesten hver systemkonfigurasjonsfil er plassert inne i /etc/. Dataene som er lagret i /etc/er ikke bare relatert til de innebygde systembibliotekene, men også for nyinstallert programvare og dens konfigurasjon. System- og programvareinstallasjoner, oppgraderinger og konfigurasjonsendringer er alle lagret i /etc/. Derfor er det en god praksis å bruke versjonskontroll når du klarer /etc/å unngå potensielle feil forårsaket av uforutsette eller utilsiktede feiloperasjoner.
Med Etckeeper kan du enkelt administrere /etc/med versjonskontrollmekanismen din ved å bruke et Git-, Mercurial-, Bazaar- eller Darcs-depot. Som standard bruker Etckeeper git for å vedlikeholde /etc/sin versjonskatalog med daglig granularitet for å minimere potensielt tap av data. I tillegg lar den deg foreta endringene manuelt når som helst.
I denne artikkelen, la oss se på hvordan du installerer Etckeeper på en CentOS 6-serverforekomst, samt hvordan du manuelt utfører en commit og angrer endringer.
Forutsetninger
Instruksjonene i denne artikkelen ble validert på en Vultr CentOS 6-forekomst med en LEMP-stack. Instruksjoner for andre distribusjoner kan være annerledes.
Merk: det er en god sikkerhetspraksis å få tilgang til systemet ditt som en ikke-rootbruker med sudo-rettigheter.
Trinn 1: Installer Etckeeper
Etckeeper er inkludert i EPEL Yum repo. Du må sette opp EPEL Yum repo før du kan installere Etckeeper:
sudo yum install epel-release
sudo yum update
sudo yum install etckeeper
En vellykket installasjon av Etckeeper vil automatisk installere git og andre avhengigheter.
Du kan tilpasse Etckeepers konfigurasjon ved å redigere konfigurasjonsfilen på /etc/etckeeper/etckeeper.conf. Standardkonfigurasjonen er imidlertid tilstrekkelig, og vi skal bruke den til formålet med denne opplæringen.
Du kan få Etckeeper til å behandle /etc/som git-arbeidskatalogen ved å utføre følgende kommandoer:
cd /etc
sudo etckeeper init
"init"-underkommandoen ovenfor vil lage en fil med navn .gitignoreog en katalog med navn .giti /etc/.
Den .gitignoreinneholder en forhåndsdefinert liste over filer og krever ikke administrasjon med versjonskontroll. Om nødvendig kan du legge til eller slette filnavn i den som du ønsker, bare husk å sette ett filnavn per linje mellom linjen # begin section managed by etckeeper...og linjen # end section managed by etckeeper.
Den .gitkatalogen er stedet å oppbevare den versjonen repository av /etc/katalogen.
Før den første forpliktelsen kan du ta en titt på hva som vil bli forpliktet:
sudo etckeeper vcs status | more
Den vcsunderkommando av Etckeeper starter en versjonskontroll programvare (som er git) for å utføre den følgende sub-kommando i /etc/katalogen. Så kommandoen ovenfor er lik:
sudo git -C /etc status | more
Trykk på for space barå bla. Hvis du finner filer som ikke skal versjonskontrolleres, legg dem til i .gitignorefilen.
Nå kan du legge inn alt innholdet i /etc-katalogen (unntatt de filene som er definert i .gitignore) til ditt git-lager. Husk å skrive noen meningsfulle kommentarer mellom to anførselstegn for gjennomgang.
sudo etckeeper commit "Initial config in /etc"
Her kan du komprimere git-katalogen for å spare diskplass:
sudo etckeeper vcs gc
Sammen med git kan Etckeeper registrere alle endringer som skjer i /etc/katalogen, for eksempel å legge til, endre eller slette filer, samt endringer i eierskap og/eller tillatelser for filer og kataloger. Alt under /etc/faller inn under dens versjonskontrollpolicy.
Vær oppmerksom på at å ha /etc/under versjonskontroll betyr ikke at du kan utføre noen operasjon på den. Alvorlige feiloperasjoner kan gjøre systemet ubrukelig før Etckeeper kan gjenopprette konfigurasjonen til en fungerende tilstand.
For testformål bør du bare gjøre sikre endringer i /etc/, for eksempel å legge til en ny fil, endre vertsnavnet i /etc/hosts, eller installere en ny programvare ved å bruke Yum.
For eksempel, legg til filen abcdei /etc/:
sudo touch /etc/abcde
Deretter legger du til linjen 192.168.0.2 desktopi /etc/hostsfilen:
echo '192.168.0.2 desktop' | sudo tee -a /etc/hosts
Til slutt kan du utføre "commit"-underkommandoen igjen:
sudo etckeeper commit "add a file /etc/abcde and add a line to /etc/hosts"
Trinn 5: Tilbakekall endringene dine
For det første kan du sjekke git-historikken for å få hver commits id og kommentar:
sudo etckeeper vcs log
For det andre kan du sjekke detaljene for enhver commit med de første bitene av commit-IDen. Her antar vi at den første commit-ID er 7f5bff, den andre commit-ID er 1aa658.
sudo etckeeper vcs show 1aa658
Du kan trykke for jå flytte ned, trykke for kå flytte opp, skrive inn for /keyword<Enter>å søke, trykke for qå avslutte.
For det tredje kan du også sammenligne forskjellene mellom to commits med følgende kommando. Vær oppmerksom på sekvensen av to commits, en naturlig sekvens er å sette den førstnevnte foran den siste.
sudo etckeeper vcs diff 7f5bff..1aa658
Nå finner du ut at du feilkonfigurerte vertsnavnet i /etc/hostsløpet av den første commit og den andre commit, men å legge til filen /etc/abcdeer en korrekt operasjon, du kan tilbakekalle endringen i bare /etc/hostsfilen med følgende kommando:
sudo etckeeper vcs checkout 7f5bff /etc/hosts
Hvis du vil tilbakekalle alle endringene mellom den første commit og den andre commit, kan du bruke følgende kommando:
sudo etckeeper vcs checkout 7f5bff
Selvfølgelig kan du fortsatt gå tilbake til den andre forpliktelsen:
sudo etckeeper vcs checkout 1aa658
Konklusjon
Etter å ha konfigurert Etckeeper riktig, kan du stille inn og vedlikeholde systemet ditt med mer selvtillit. Ikke desto mindre, vær oppmerksom på at versjonskontroll er forskjellig fra sikkerhetskopiering og /etc/katalogen er ikke det eneste stedet å være bekymret for. For å holde systemet i form, må du også sikkerhetskopiere systemet regelmessig i tillegg til versjonskontrollmekanismen.