Jinsi ya Kusimamia/nk na Udhibiti wa Toleo Kutumia Etckeeper kwenye Linux


Katika muundo wa saraka ya Unix/Linux, saraka ya /nk ndipo faili na saraka za usanidi wa mfumo mzima zinapatikana; ni eneo la kati kwa faili zote za usanidi wa mfumo mzima. Faili ya usanidi ni faili ya ndani inayotumiwa kudhibiti jinsi programu inavyofanya kazi - lazima iwe tuli na haiwezi kuwa binary inayoweza kutekelezwa.

Ili kufuatilia mabadiliko ya faili za usanidi wa mfumo, wasimamizi wa mfumo kwa kawaida hufanya nakala (au chelezo) za faili za usanidi kabla ya kuzirekebisha. Kwa njia hiyo ikiwa walirekebisha faili asili moja kwa moja na wakafanya makosa, wanaweza kurudi kwenye nakala iliyohifadhiwa.

Etckeeper ni mkusanyiko rahisi, rahisi kutumia, wa msimu na unaoweza kusanidiwa ili kuruhusu /nk kudhibitiwa kwa kutumia udhibiti wa toleo. Inakuwezesha kuhifadhi mabadiliko katika saraka ya /etc katika mfumo wa udhibiti wa toleo (VCS) kama vile git (ambayo ni VCS inayopendelewa), mercurial, bazaar au hazina ya darcs. Kwa hivyo kukuruhusu kutumia git kukagua au kurudisha mabadiliko ambayo yalifanywa kwa /etc, iwapo kutatokea makosa.

Vipengele vyake vingine ni:

  1. inaauni ujumuishaji na wasimamizi wa vifurushi vya mbele ikijumuisha Zypper na pacman-g2 kufanya mabadiliko kiotomatiki yaliyofanywa kwa /etc wakati wa uboreshaji wa kifurushi.
  2. hufuatilia metadata ya faili (kama vile ruhusa za faili) ambayo git haitumii kwa kawaida, lakini hiyo ni muhimu kwa /etc, na
  3. inajumuisha kazi ya cron na kipima muda cha mfumo, ambacho kila mmoja anaweza kufanya mabadiliko ya kutoka kwa /etc kiotomatiki mara moja kwa siku.

Jinsi ya kufunga Etckeeper kwenye Linux

Etckeeper inapatikana katika Debian, Ubuntu, Fedora, na usambazaji mwingine wa Linux. Ili kukisakinisha, tumia kidhibiti chaguo-msingi cha kifurushi kama inavyoonyeshwa. Kumbuka kuwa amri hii pia itasakinisha git na vifurushi vingine vichache kama utegemezi.

$ 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

Kwenye usambazaji wa Enterprise Linux kama vile RedHat Enterprise Linux (RHEL), CentOS na zingine, unahitaji kuongeza hazina ya EPEL kabla ya kuisakinisha kama inavyoonyeshwa.

# yum install epel-release
# yum install etckeeper

Inasanidi Etckeeper katika Linux

Mara baada ya kusakinisha etckeeper kama inavyoonyeshwa hapo juu, unahitaji kusanidi jinsi itakavyofanya kazi na faili yake kuu ya usanidi ni /etc/etckeeper/etckeeper.conf. Ili kuifungua kwa kuhaririwa, tumia kihariri chochote unachopenda kulingana na maandishi kama inavyoonyeshwa.

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

Faili ina chaguzi kadhaa za usanidi (kila moja na maelezo madogo, wazi ya matumizi) ambayo hukuruhusu kuweka mfumo wa kudhibiti toleo (VCS) kutumia, kupitisha chaguzi kwa VSC; kuwezesha au kuzima kipima muda, kuwezesha au kuzima onyo maalum la faili, kuwezesha au kuzima mlinzi nk kufanya mabadiliko yaliyopo kwenye /etc kabla ya kusakinisha.

Pia, unaweza kuweka kidhibiti cha mbele au cha kiwango cha juu zaidi (kama vile rpm n.k.) kufanya kazi na etckeeper.

Ikiwa umefanya mabadiliko yoyote kwenye faili, ihifadhi na uifunge faili.

Kuanzisha Hifadhi ya Git na Tekeleza Ahadi ya Awali

Kwa kuwa sasa umesanidi mlinzi wa nk, unahitaji kuanzisha hazina ya Git ili kuanza kufuatilia mabadiliko yoyote katika saraka yako ya /etc kama ifuatavyo. Unaweza tu kuendesha etckeeper na ruhusa za mizizi, vinginevyo tumia sudo.

$ cd 
$ sudo etckeeper init

Ifuatayo, hatua kwa etckeeper kuweza kufanya kazi kiotomatiki, unahitaji kutekeleza ahadi ya kwanza ili kuanza kufuatilia mabadiliko katika /etc, kama ifuatavyo.

$ sudo etckeeper commit "first commit"

Baada ya kutekeleza ahadi yako ya kwanza, etckeeper kupitia git sasa anafuatilia mabadiliko yoyote kwenye saraka ya /etc. Sasa jaribu kufanya mabadiliko yoyote katika faili zozote za usanidi.

Kisha endesha amri ifuatayo ili kuonyesha faili ambazo zimebadilika tangu ahadi ya mwisho; amri hii kimsingi inaonyesha mabadiliko katika /etc ambayo hayajawekwa kwa hatua, ambapo VCS inamaanisha git na \status ni amri ndogo ya git.

$ sudo etckeeper vcs status

Kisha fanya mabadiliko ya hivi karibuni kama ifuatavyo.

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

Kuangalia logi ya ahadi zote (kitambulisho cha kila ahadi na maoni), unaweza kutekeleza amri ifuatayo.

$ sudo etckeeper vcs log

Unaweza pia kuonyesha maelezo ya ahadi, taja tu kitambulisho cha ahadi (herufi chache za kwanza zinaweza kufanya kazi) kama inavyoonyeshwa.:

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

Mbali na hilo, unaweza kuona tofauti kati ya ahadi mbili kama inavyoonyeshwa. Hii ni muhimu sana ikiwa unataka kubatilisha mabadiliko kama inavyoonyeshwa katika sehemu inayofuata. Unaweza kutumia vitufe vya vishale kusogeza juu na chini au kushoto na kulia, na kuacha kwa kubonyeza q.

$ sudo etckeeper vcs show 704cc56 a153b6847

Kiini cha etckeeper ni kukusaidia kufuatilia mabadiliko kwenye saraka yako ya /etc na kubadilisha mabadiliko inapohitajika. Kwa kudhani unagundua kuwa ulifanya makosa fulani kwenye /etc/nginx/nginx.conf ulipoihariri mara ya mwisho na huduma ya Nginx haiwezi kuanza tena kwa sababu ya makosa katika muundo wa usanidi, unaweza kurejea kwenye nakala iliyohifadhiwa kwa njia maalum. fanya (mfano 704cc56) ambapo unadhani usanidi ulikuwa sahihi kama ifuatavyo.

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

Vinginevyo, unaweza kughairi mabadiliko yote na kurejesha matoleo ya faili zote chini ya /etc (na saraka zake ndogo) zilizohifadhiwa katika ahadi mahususi.

$ sudo etckeeper vcs checkout 704cc56 

Jinsi ya Kuwezesha Mabadiliko Kufanywa Moja kwa Moja

Etckeeper pia husafirisha na huduma na vitengo vya kipima muda vya Systemd, vilivyojumuishwa kwenye kifurushi. Ili kuzindua \Kujitolea Kiotomatiki kwa mabadiliko katika saraka ya /nk, anzisha kitengo cha etckeeper.timer kwa sasa na uangalie ikiwa kinaendelea na kuendeshwa, kama ifuatavyo.

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

Na uwezeshe kuanza kiotomatiki kwenye mfumo wa kuwasha kama inavyoonyeshwa.

$ sudo systemctl enable etckeeper.timer

Kwa maelezo zaidi, angalia Ukurasa wa Mradi wa Etckeeper: https://etckeeper.branchable.com/.

Katika mwongozo huu, tumeonyesha jinsi ya kusakinisha na kutumia etckeeper kwa mabadiliko ya duka katika saraka ya /etc katika mfumo wa udhibiti wa toleo (VCS) kama vile git na kukagua au kurudisha mabadiliko yaliyofanywa kwa > nk, inapobidi. Shiriki mawazo yako au uulize maswali kuhusu mlinzi nk kupitia fomu ya maoni iliyo hapa chini.