Kuidas hallata/jne versioonihalduse abil Etckeeperi abil Linuxis


Unixi/Linuxi kataloogistruktuuris asub kataloog /etc , kus asuvad hostispetsiifilised kogu süsteemi hõlmavad konfiguratsioonifailid ja kataloogid; see on kõigi süsteemsete konfiguratsioonifailide keskne asukoht. Konfiguratsioonifail on kohalik fail, mida kasutatakse programmi töö kontrollimiseks - see peab olema staatiline ega tohi olla käivitatav binaarne.

Süsteemi konfiguratsioonifailide muudatuste jälgimiseks teevad süsteemiadministraatorid enne nende muutmist tavaliselt konfiguratsioonifailide koopiad (või varukoopiad). Nii saavad nad, kui nad algset faili otseselt muutsid ja vea tegid, naasta salvestatud koopia juurde.

Etckeeper on lihtne, hõlpsasti kasutatav, modulaarne ja konfigureeritav tööriistade kogu, mis võimaldab /etc -i hallata versioonihalduse abil. See võimaldab teil muudatusi kataloogis /etc salvestada versioonihaldussüsteemis (VCS), näiteks git (mis on eelistatud VCS), elavhõbeda, basaari või darcsi hoidlas. Nii saate vea korral kasutada koodi git abil /etc tehtud muudatuste ülevaatamist või ennistamist.

Selle muud omadused on:

  1. see toetab integreerimist kasutajaliidese paketihalduritega, sealhulgas Zypper ja pacman-g2, et pakettiuuenduste käigus muudatused, mis on tehtud koodile /etc , tehakse automaatselt.
  2. see jälgib faili metaandmeid (näiteks faili õigusi), mida git tavaliselt ei toeta, kuid see on oluline /etc ja
  3. see sisaldab nii croni tööd kui ka systemd taimerit, millest igaüks saab teha üksuse /etc muudatustest väljumise automaatselt üks kord päevas.

Etckeeperi installimine Linuxi

Etckeeper on saadaval Debiani, Ubuntu, Fedora ja muude Linuxi distributsioonides. Selle installimiseks kasutage oma vaikepaketi haldurit, nagu näidatud. Pange tähele, et see käsk installib sõltuvustena ka giti ja mõned muud paketid.

$ 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

Enterprise Linuxi distributsioonides, nagu RedHat Enterprise Linux (RHEL), CentOS jt, peate enne selle installimist, nagu näidatud, lisama EPEL-hoidla.

# yum install epel-release
# yum install etckeeper

Etckeeperi seadistamine Linuxis

Kui olete installinud etckeeperi, nagu ülalpool näidatud, peate konfigureerima selle toimimise ja selle peamine konfiguratsioonifail on /etc/etckeeper/etckeeper.conf. Selle redigeerimiseks avamiseks kasutage mõnda oma lemmiktekstipõhist redaktorit nagu näidatud.

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

Fail sisaldab mitut seadistusvõimalust (millest igaühel on väike, selge kasutuskirjeldus), mis võimaldavad teil määrata kasutatava versioonihaldussüsteemi (VCS), anda valikud VSC-le; Taimeri lubamiseks või keelamiseks lubage või keelake spetsiaalne failihoiatus, lubage või keelake etckeeperil enne installimist olemasolevate muudatuste tegemist koodis /etc .

Samuti saate seadistada esiotsa või kõrgema taseme paketihalduri (nt p/min jne) töötama etckeeperiga.

Kui olete failis muudatusi teinud, salvestage see ja sulgege fail.

Giti andmehoidla initsialiseerimine ja esmase toimingu sooritamine

Nüüd, kui olete etckeeperi konfigureerinud, peate lähtestama Giti hoidla, et alustada kataloogis muudatuste jälgimist järgmiselt. Etckeeperit saab käivitada ainult juurõigustega, vastasel juhul kasutage sudot.

$ cd 
$ sudo etckeeper init

Järgmisena, et etckeeper saaks automaatselt töötada, peate käivitama esimese pühenduse, et hakata jälgima muudatusi kataloogis /etc järgmiselt.

$ sudo etckeeper commit "first commit"

Pärast esimese pühenduse käivitamist jälgib etckeeper giti kaudu kõiki muudatusi kataloogis /etc . Nüüd proovige mis tahes konfiguratsioonifailides muudatusi teha.

Seejärel käivitage järgmine käsk, et näidata faile, mis on muutunud pärast viimast pühendumist; see käsk näitab sisuliselt muudatusi failis /etc , mis pole pühendamiseks lavastatud, kus VCS tähendab git ja „status” on git-alamkäsk.

$ sudo etckeeper vcs status

Seejärel tehke hiljutised muudatused järgmiselt.

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

Kõigi toimingute logi (iga toimingu ID ja kommentaari) vaatamiseks võite käivitada järgmise käsu.

$ sudo etckeeper vcs log

Samuti saate näidata kohustuse üksikasju, lihtsalt määrake kohustuse ID (paar esimest märki võivad töötada), nagu näidatud:

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

Pealegi saate vaadata kahe toimingu erinevust, nagu näidatud. See on eriti kasulik, kui soovite muudatused tühistada, nagu on näidatud järgmises jaotises. Nooleklahvide abil saate kerida üles ja alla või vasakule ja paremale ning lõpetada, vajutades klahvi q .

$ sudo etckeeper vcs show 704cc56 a153b6847

Etckeeperi olemus on aidata teil oma /etc kataloogi muudatusi jälgida ja vajadusel muudatused tagasi pöörata. Eeldades, et mõistate, et tegite viimati redigeerimisel /etc/nginx/nginx.conf-is mõned vead ja teenust Nginx ei saa konfiguratsioonistruktuuri vigade tõttu taaskäivitada, saate pöörduda tagasi konkreetse salvestatud koopia juurde toime (nt 704cc56), kui arvate, et seadistamine oli õige, järgmiselt.

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

Teise võimalusena võite tühistada kõik muudatused ja naasta kõigi failide versioonidesse /etc (ja selle alamkataloogid), mis on salvestatud kindlasse pühendusse.

$ sudo etckeeper vcs checkout 704cc56 

Kuidas lubada muudatuste automaatset sooritamist

Etckeeper saadab paketti ka Systemd teenindus- ja taimeri. Kataloogi /etc muudatuste „Autocommit“ käivitamiseks käivitage lihtsalt üksus etckeeper.timer ja kontrollige, kas see töötab ja töötab järgmiselt.

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

Ja lubage tal süsteemi käivitamisel automaatselt käivitada, nagu näidatud.

$ sudo systemctl enable etckeeper.timer

Lisateavet leiate Etckeeperi projekti lehelt: https://etckeeper.branchable.com/.

Selles juhendis oleme näidanud, kuidas installida ja kasutada etckeeperit muudatuste salvestamiseks kataloogis /etc versioonijuhtimissüsteemis (VCS), näiteks git ja /etc , kui see on vajalik. Jagage oma mõtteid või esitage küsimusi etckeeperi kohta alloleva tagasiside vormi kaudu.