Kā pārvaldīt/utt ar versiju kontroli, izmantojot Etckeeper operētājsistēmā Linux


Unix/Linux direktoriju struktūrā direktorija /etc ir vieta, kurā atrodas resursdatoram raksturīgi visas sistēmas konfigurācijas faili un direktoriji; tā ir centrāla vieta visiem sistēmas mēroga konfigurācijas failiem. Konfigurācijas fails ir lokāls fails, ko izmanto, lai kontrolētu programmas darbību - tam jābūt statiskam un tas nevar būt izpildāms binārs.

Lai sekotu sistēmas konfigurācijas failu izmaiņām, sistēmas administratori parasti pirms konfigurēšanas izveido konfigurācijas failu kopijas (vai dublējumkopijas). Tādā veidā, ja viņi tieši modificēja oriģinālo failu un pieļāva kļūdu, viņi var atgriezties pie saglabātās kopijas.

Etckeeper ir vienkārša, viegli lietojama, modulāra un konfigurējama rīku kolekcija, kas ļauj pārvaldīt /etc , izmantojot versiju kontroli. Tas ļauj saglabāt izmaiņas /etc direktorijā versiju kontroles sistēmā (VCS), piemēram, git (kas ir vēlamais VCS), dzīvsudraba, bazāra vai darcs krātuvē. Tādējādi ļaujot izmantot git, lai kļūdas gadījumā pārskatītu vai atjaunotu izmaiņas, kas veiktas /etc .

Tās citas funkcijas ir:

  1. tas atbalsta integrāciju ar priekšējo pakotņu pārvaldniekiem, tostarp Zypper un Pacman-g2, lai automātiski veiktu izmaiņas, kas pakotnes jaunināšanas laikā tika veiktas /etc .
  2. tas izseko faila metadatus (piemēram, faila atļaujas), kurus git parasti neatbalsta, taču tas ir svarīgi /etc un
  3. tajā ietilpst gan cron darbs, gan systemd taimeris, un katrs no tiem var veikt iziešanas izmaiņas uz /etc automātiski vienu reizi dienā.

Kā instalēt Etckeeper Linux

Etckeeper ir pieejams Debian, Ubuntu, Fedora un citos Linux izplatījumos. Lai to instalētu, izmantojiet noklusējuma pakotņu pārvaldnieku, kā parādīts. Ņemiet vērā, ka šī komanda kā atkarības instalēs arī git un dažus citus paketes.

$ 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

Uz Enterprise Linux izplatījumiem, piemēram, RedHat Enterprise Linux (RHEL), CentOS un citiem, pirms tā instalēšanas, kā parādīts attēlā, jāpievieno EPEL krātuve.

# yum install epel-release
# yum install etckeeper

Etckeeper konfigurēšana Linux

Kad esat instalējis etckeeper, kā parādīts iepriekš, jums jākonfigurē tā darbība, un tā galvenais konfigurācijas fails ir /etc/etckeeper/etckeeper.conf. Lai to atvērtu rediģēšanai, izmantojiet jebkuru no iecienītākajiem teksta redaktoriem, kā parādīts.

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

Failā ir vairākas konfigurācijas opcijas (katrai no tām ir mazs, skaidrs lietošanas apraksts), kas ļauj iestatīt versiju vadības sistēmu (VCS) lietošanai, nodot opcijas VSC; lai iespējotu vai atspējotu taimeri, iespējojiet vai atspējojiet īpašo brīdinājumu par failiem, iespējojiet vai atspējojiet etckeeper pirms instalēšanas veikt esošās izmaiņas /etc .

Varat arī iestatīt priekšgala vai augstāka līmeņa pakotņu pārvaldnieku (piemēram, apgr./min. Utt.) Darbam ar etckeeper.

Ja esat veicis kādas izmaiņas failā, saglabājiet to un aizveriet failu.

Inicializē Git repozitoriju un veic sākotnējo apņemšanos

Tagad, kad esat konfigurējis etckeeper, jums jāinicializē Git repozitorijs, lai sāktu sekot visām izmaiņām direktorijā /etc šādi. Jūs varat palaist etckeeper tikai ar root tiesībām, pretējā gadījumā izmantojiet sudo.

$ cd 
$ sudo etckeeper init

Pēc tam veiciet soli, lai etckeeper varētu darboties automātiski. Lai sāktu sekot izmaiņām /etc , palaidiet pirmo apņemšanos šādi:

$ sudo etckeeper commit "first commit"

Pēc pirmās saistības izpildīšanas etckeeper via git tagad izseko visas izmaiņas direktorijā /etc . Tagad mēģiniet veikt izmaiņas jebkurā no konfigurācijas failiem.

Pēc tam palaidiet šo komandu, lai parādītu failus, kas ir mainījušies kopš pēdējās saistības; šī komanda būtībā parāda izmaiņas /etc , kas nav iestudētas saistībām, kur VCS nozīmē git un statuss ir git apakškomanda.

$ sudo etckeeper vcs status

Pēc tam veiciet pēdējās izmaiņas šādi.

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

Lai skatītu visu saistību žurnālu (katras izdarītās personas ID un komentāru), varat izpildīt šādu komandu.

$ sudo etckeeper vcs log

Varat arī parādīt saistību informāciju, vienkārši norādiet saistības ID (dažas pirmās rakstzīmes var darboties), kā parādīts.:

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

Bez tam, jūs varat apskatīt atšķirību starp divām saistībām, kā parādīts. Tas ir īpaši noderīgi, ja vēlaties atsaukt izmaiņas, kā parādīts nākamajā sadaļā. Varat izmantot bulttaustiņus, lai ritinātu uz augšu un uz leju, vai pa kreisi un pa labi, un izejiet, nospiežot q .

$ sudo etckeeper vcs show 704cc56 a153b6847

Etckeeper būtība ir palīdzēt izsekot izmaiņām direktorijā /etc un vajadzības gadījumā mainīt izmaiņas. Pieņemot, ka saprotat, ka /etc/nginx/nginx.conf esat pieļāvis dažas kļūdas, kad to pēdējo reizi rediģējāt, un pakalpojumu Nginx nevar atsākt konfigurācijas struktūras kļūdu dēļ, varat atgriezties pie saglabātās kopijas noteiktā izdariet (piemēram, 704cc56), kur, jūsuprāt, konfigurācija bija pareiza, šādi.

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

Varat arī atcelt visas izmaiņas un atgriezties pie visu failu, kas atrodas /etc (un tā apakšdirektoriju) versijās, kas glabājas konkrētā saistībā.

$ sudo etckeeper vcs checkout 704cc56 

Kā iespējot izmaiņas veikt automātiski

Etckeeper piegādā arī servisa un taimera vienības Systemd, kas iekļautas komplektā. Lai palaistu izmaiņu “Autocommit” direktorijā /etc , vienkārši pagaidām palaidiet vienību etckeeper.timer un pārbaudiet, vai tā darbojas un darbojas šādi.

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

Un ļaujiet tai automātiski startēt sistēmas sāknēšanas laikā, kā parādīts.

$ sudo systemctl enable etckeeper.timer

Lai iegūtu papildinformāciju, skatiet Etckeeper projekta lapu: https://etckeeper.branchable.com/.

Šajā rokasgrāmatā mēs parādījām, kā instalēt un izmantot etckeeper izmaiņu glabāšanai direktorijā /etc versiju kontroles sistēmā (VCS), piemēram, git un pārskatīt vai atjaunot izmaiņas, kas veiktas /etc , ja nepieciešams. Dalieties savās domās vai uzdodiet jautājumus par uttkeeper, izmantojot zemāk esošo atsauksmju veidlapu.