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:
- see toetab integreerimist kasutajaliidese paketihalduritega, sealhulgas Zypper ja pacman-g2, et pakettiuuenduste käigus muudatused, mis on tehtud koodile
/etc
, tehakse automaatselt. - see jälgib faili metaandmeid (näiteks faili õigusi), mida git tavaliselt ei toeta, kuid see on oluline
/etc
ja - 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.