/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:
- 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. - se seuraa tiedostojen metatietoja (kuten tiedostojen käyttöoikeuksia), joita git ei yleensä tue, mutta jotka ovat tärkeitä tiedostolle
/etc
, ja - 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.