Introducció
Requisits previs
Pas 1: instal·leu Etckeeper
Pas 2: configureu /etc com a directori de treball git d'Etckeeper
Pas 3: realitzeu la confirmació inicial
Pas 4: realitzeu una altra confirmació després de fer canvis a /etc
Pas 5: revoqueu els vostres canvis
Conclusió
Introducció
El /etc/directori té un paper crític en el funcionament d'un sistema Linux. La raó d'això és perquè gairebé tots els fitxers de configuració del sistema es troben dins de /etc/. Les dades emmagatzemades /etc/no només estan relacionades amb les biblioteques del sistema incorporades, sinó també amb el programari recent instal·lat i la seva configuració. Les instal·lacions del sistema i del programari, les actualitzacions i els canvis de configuració s'emmagatzemen a /etc/. Per tant, és una bona pràctica utilitzar el control de versions a l'hora de gestionar /etc/per evitar possibles errors causats per maloperacions imprevistes o accidentals.
Amb Etckeeper, podeu gestionar fàcilment /etc/amb el vostre mecanisme de control de versions mitjançant un repositori Git, Mercurial, Bazaar o Darcs. Per defecte, Etckeeper utilitza git per mantenir /etc/el directori del repositori de versions amb una granularitat diària per minimitzar la possible pèrdua de dades. A més, us permet confirmar els vostres canvis manualment en qualsevol moment.
En aquest article, fem una ullada a com instal·lar Etckeeper en una instància del servidor CentOS 6, així com a com realitzar manualment una confirmació i desfer els canvis.
Requisits previs
Les instruccions d'aquest article es van validar en una instància Vultr CentOS 6 amb una pila LEMP. Les instruccions per a altres distribucions poden ser diferents.
Nota: és una bona pràctica de seguretat accedir al vostre sistema com a usuari no root amb privilegis sudo.
Pas 1: instal·leu Etckeeper
Etckeeper s'inclou al repo EPEL Yum. Heu de configurar el repo EPEL Yum abans de poder instal·lar Etckeeper:
sudo yum install epel-release
sudo yum update
sudo yum install etckeeper
Una instal·lació correcta d'Etckeeper instal·larà automàticament git i altres dependències.
Podeu personalitzar la configuració d'Etckeeper editant el fitxer de configuració situat a /etc/etckeeper/etckeeper.conf. Tanmateix, la configuració per defecte és adequada i la farem servir per a aquest tutorial.
Podeu fer que Etckeeper es tracti /etc/com el directori de treball git executant les ordres següents:
cd /etc
sudo etckeeper init
El "init" sub-comanda anterior crearà un arxiu amb el nom .gitignorei un directori anomenat .giten /etc/.
L' .gitignoreconté una llista predefinida dels arxius i no requereix de gestió amb control de versions. Si cal, podeu afegir-hi o suprimir noms de fitxer com vulgueu, només recordeu posar un nom de fitxer per línia entre la línia # begin section managed by etckeeper...i la línia # end section managed by etckeeper.
El .gitdirectori és el lloc per emmagatzemar el repositori de versions del /etc/directori.
Abans del commit inicial, podeu fer una ullada al que es comprometrà:
sudo etckeeper vcs status | more
El vcssubordre d'Etckeeper invocarà el programari de control de versions (que és git) per executar el següent subordre al /etc/directori. Per tant, l'ordre anterior és igual a:
sudo git -C /etc status | more
Premeu space barper passar pàgina. Si trobeu fitxers que no s'haurien de controlar la versió, afegiu-los al .gitignorefitxer.
Ara, podeu enviar tot el contingut del directori /etc (excepte els fitxers definits a .gitignore) al vostre repositori git. Recordeu escriure alguns comentaris significatius entre dues cometes per revisar-los.
sudo etckeeper commit "Initial config in /etc"
Aquí, podeu comprimir el directori git per estalviar espai al disc:
sudo etckeeper vcs gc
Juntament amb git, Etckeeper pot registrar qualsevol canvi que es produeixi al /etc/directori, com ara afegir, modificar o suprimir fitxers, així com els canvis de propietat i/o permisos per a fitxers i directoris. Tot el que es /etc/troba sota la seva política de control de versions.
Tingueu en compte que tenir /etc/control de versions no vol dir que hi pugueu realitzar cap operació. Les operacions incorrectes greus poden fer que el sistema no funcioni abans que Etckeeper pugui restaurar la configuració a un estat de treball.
Amb finalitats de prova, només hauríeu de fer canvis segurs a /etc/, com ara afegir un fitxer nou, modificar el nom d'amfitrió a /etc/hosts, o instal·lar un programari nou amb Yum.
Per exemple, afegiu el fitxer abcdea /etc/:
sudo touch /etc/abcde
A continuació, afegiu la línia 192.168.0.2 desktopal /etc/hostsfitxer:
echo '192.168.0.2 desktop' | sudo tee -a /etc/hosts
Per fi, podeu tornar a executar la subordre "commit":
sudo etckeeper commit "add a file /etc/abcde and add a line to /etc/hosts"
Pas 5: revoqueu els vostres canvis
En primer lloc, podeu comprovar l'historial de git per obtenir l'identificador i el comentari de cada commit:
sudo etckeeper vcs log
En segon lloc, podeu comprovar els detalls de qualsevol commit amb els primers bits del seu identificador de commit. Aquí, suposem que el primer identificador de commit és 7f5bff, el segon identificador de commit és 1aa658.
sudo etckeeper vcs show 1aa658
Podeu prémer jper moure's cap avall, premer kper moure's cap amunt, introduir /keyword<Enter>per cercar, prémer qper sortir.
En tercer lloc, també podeu comparar les diferències entre dos commits amb l'ordre següent. Tingueu en compte la seqüència de dos commits, una seqüència natural és posar la primera abans que la segona.
sudo etckeeper vcs diff 7f5bff..1aa658
Ara, trobeu que heu configurat malament el nom de l'amfitrió /etc/hostsdurant la primera confirmació i la segona confirmació, però afegir el fitxer /etc/abcdeés una operació correcta, només podeu revocar el canvi al /etc/hostsfitxer amb l'ordre següent:
sudo etckeeper vcs checkout 7f5bff /etc/hosts
Si voleu revocar tots els canvis entre el primer commit i el segon commit, podeu utilitzar l'ordre següent:
sudo etckeeper vcs checkout 7f5bff
Per descomptat, encara podeu tornar al segon commit:
sudo etckeeper vcs checkout 1aa658
Conclusió
Tenint Etckeeper configurat correctament, podeu ajustar i mantenir el vostre sistema amb més confiança. No obstant això, tingueu en compte que el control de versions és diferent de la còpia de seguretat i que el /etc/directori no és l'únic lloc per preocupar-vos. Per mantenir el vostre sistema en forma, també heu de fer una còpia de seguretat del vostre sistema regularment, a més del mecanisme de control de versions.