/etc-tiedoston hallinta versionhallinnan avulla Etckeeperin avulla Linuxissa


Unix/Linux-hakemistorakenteessa hakemistossa /etc sijaitsevat isäntäkohtaiset järjestelmänlaajuiset asetustiedostot ja hakemistot. se on kaikkien järjestelmän laajuisten asetustiedostojen keskitetty sijainti. Määritystiedosto on paikallinen tiedosto, jota käytetään ohjaamaan ohjelman toimintaa – sen on oltava staattinen eikä se voi olla suoritettava binaari.

Järjestelmänvalvojat tekevät yleensä kopiot (tai varmuuskopiot) asetustiedostoista ennen niiden muokkaamista seuratakseen järjestelmän kokoonpanotiedostojen muutoksia. Jos he muuttivat suoraan alkuperäistä tiedostoa ja tekivät virheen, he voivat palata tallennettuun kopioon.

Etckeeper on yksinkertainen, helppokäyttöinen, modulaarinen ja konfiguroitava kokoelma työkaluja, joiden avulla /etc-työkalua voidaan hallita versionhallinnan avulla. Sen avulla voit tallentaa muutokset /etc-hakemistoon versionhallintajärjestelmässä (VCS), kuten gitissä (joka on suositeltava VCS), mercurial-, basaari- tai darcs-tietovarastossa. . Näin voit käyttää gitiä tarkistaaksesi tai peruuttaaksesi muutokset, jotka on tehty tiedostoon /etc, jos tapahtuu virhe.

Sen muut ominaisuudet ovat:

  1. se tukee integrointia käyttöliittymän paketinhallintaohjelmiin, kuten APT, YUM, DNF, Zypper ja pacman-g2, jotta tiedostoon /etc tehdyt muutokset voidaan sitoa automaattisesti pakettien päivityksen aikana.
  2. se seuraa tiedostojen metatietoja (kuten tiedostojen käyttöoikeuksia), joita git ei yleensä tue, mutta jotka ovat tärkeitä tiedostolle /etc, ja
  3. se sisältää sekä cron-työn että systemd-ajastimen, joista jokainen voi tehdä poistuvia muutoksia tiedostoon /etc automaattisesti kerran päivässä.

Kuinka asentaa Etckeeper Linuxiin

Etckeeper on saatavilla Debianissa, Ubuntussa, Fedorassa ja muissa Linux-jakeluissa. Asenna se käyttämällä oletuspaketinhallintaasi kuvan osoittamalla tavalla. Huomaa, että tämä komento asentaa myös gitin ja muutamat muut paketit riippuvuuksina.

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 Linux -jakeluissa, kuten RedHat Enterprise Linux (RHEL), CentOS ja muissa, sinun on lisättävä EPEL-arkisto ennen sen asentamista kuvan osoittamalla tavalla.

yum install epel-release
yum install etckeeper

Etckeeperin määrittäminen Linuxissa

Kun olet asentanut etckeeperin yllä kuvatulla tavalla, sinun on määritettävä sen toiminta ja sen pääasetustiedosto on /etc/etckeeper/etckeeper.conf. Avaa se muokkausta varten käyttämällä mitä tahansa suosikkitekstipohjaisia muokkausohjelmia kuvan mukaisesti.

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

Tiedosto sisältää useita määritysvaihtoehtoja (jokaisessa on pieni, selkeä käyttökuvaus), joiden avulla voit asettaa versionhallintajärjestelmän (VCS) käytettäväksi, siirtää asetukset VSC:lle. ottaaksesi ajastimen käyttöön tai poistaaksesi sen käytöstä, ota käyttöön tai poista käytöstä erityistiedostovaroitus, salli tai estää etckeeperiä tekemästä olemassa olevia muutoksia tiedostoon /etc ennen asennusta.

Voit myös määrittää käyttöliittymän tai ylemmän tason pakettien hallinnan (kuten apt, yum, dnf jne.) ja taustalla olevan tai matalan tason pakettien hallinnan (dpkg, rpm jne.) toimimaan etckeeperin kanssa. vahva>.

Jos olet tehnyt muutoksia tiedostoon, tallenna ne ja sulje tiedosto.

Git-arkiston alustaminen ja alkuperäinen sitoumus

Nyt kun olet määrittänyt etckeeperin, sinun on alustettava Git-arkisto, jotta voit alkaa seurata muutoksia hakemistossasi /etc seuraavasti. Voit suorittaa etckeeper-ohjelman vain pääkäyttäjän oikeuksilla, muussa tapauksessa käytä sudoa.

cd 
sudo etckeeper init

Seuraavaksi, jotta etckeeper voisi toimia automaattisesti, sinun on suoritettava ensimmäinen vahvistus, jotta voit seurata muutoksia tiedostossa /etc seuraavasti.

sudo etckeeper commit "first commit"

Muutosten tekeminen ja sitoutuminen

Ensimmäisen vahvistuksesi suorittamisen jälkeen etckeeper seuraa gitin kautta kaikkia muutoksia /etc-hakemistossa. Yritä nyt tehdä muutoksia mihin tahansa asetustiedostoon.

Suorita sitten seuraava komento näyttääksesi tiedostot, jotka ovat muuttuneet edellisen toimituksen jälkeen; tämä komento näyttää olennaisesti muutokset tiedostossa /etc, jota ei ole sovitettu commit-vaiheessa, missä VCS tarkoittaa gitiä ja "status" on git-alikomento.

sudo etckeeper vcs status

Tee sitten viimeisimmät muutokset seuraavasti.

sudo etckeeper commit "changed hosts and phpmyadmin config files"

Tarkastele toimituslokeja

Voit tarkastella kaikkien toimitusten lokia (kunkin toimituksen tunnus ja kommentti) suorittamalla seuraavan komennon.

sudo etckeeper vcs log

Voit myös näyttää toimituksen tiedot. Määritä vain toimitustunnus (muutama ensimmäinen merkki voi toimia) kuvan mukaisesti.:

sudo etckeeper vcs show a153b68479d0c440cc42c228cbbb6984095f322d
OR
sudo etckeeper vcs show a153b6847

Lisäksi voit tarkastella kahden toimituksen välistä eroa kuvan mukaisesti. Tämä on erityisen hyödyllistä, jos haluat peruuttaa muutokset seuraavassa osiossa esitetyllä tavalla. Voit vierittää ylös ja alas tai vasemmalle ja oikealle nuolinäppäimillä ja lopettaa painamalla q.

sudo etckeeper vcs show 704cc56 a153b6847

Kuinka peruuttaa muutokset

etckeeperin olemus on auttaa sinua seuraamaan muutoksia /etc-hakemistoosi ja kumoamaan muutokset tarvittaessa. Jos ymmärrät, että teit virheitä tiedostossa /etc/nginx/nginx.conf, kun viimeksi muokkasit sitä ja Nginx-palvelua ei voida käynnistää uudelleen määritysrakenteen virheiden vuoksi, voit palauttaa sen tallennettuun kopioon tietyssä toimituksessa (esim. 704cc56), jossa määritys oli mielestäsi oikea seuraavasti.

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

Vaihtoehtoisesti voit peruuttaa kaikki muutokset ja palauttaa versiot kaikista tiedostoista /etc (ja sen alihakemistoista), jotka on tallennettu tiettyyn toimitukseen.

sudo etckeeper vcs checkout 704cc56 

Kuinka ottaa muutokset käyttöön automaattisesti

Etckeeper toimitetaan myös pakkaukseen sisältyvän Systemd-palvelun ja ajastinyksiköiden kanssa. Voit käynnistää /etc-hakemiston muutosten "Autocommit" käynnistämällä etckeeper.timer-yksikön toistaiseksi ja tarkistamalla, onko se käynnissä. , seuraavasti.

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

Ja ota se käyttöön automaattisesti järjestelmän käynnistyksen yhteydessä kuvan osoittamalla tavalla.

sudo systemctl enable etckeeper.timer

Lisätietoja on Etckeeper-projektisivulla: https://etckeeper.branchable.com/.

Johtopäätös

Tässä oppaassa olemme osoittaneet, kuinka etckeeper asennetaan ja kuinka muutokset tallennetaan /etc-hakemistoon versionhallintajärjestelmässä (VCS). kuten git ja tarkista tai peruuta muutokset, jotka on tehty tiedostoon /etc tarvittaessa. Jaa ajatuksesi tai esitä kysymyksiä etckeeperistä alla olevan palautelomakkeen kautta.