Kif Immaniġġja /etc bil-Kontroll tal-Verżjoni billi tuża Etckeeper fuq Linux
Fl-istruttura tad-direttorju Unix/Linux, id-direttorju /etc
huwa fejn jinsabu fajls u direttorji tal-konfigurazzjoni tas-sistema kollha speċifiċi għall-host; huwa post ċentrali għall-fajls kollha tal-konfigurazzjoni tas-sistema kollha. Fajl ta 'konfigurazzjoni huwa fajl lokali użat biex jikkontrolla kif jaħdem programm - għandu jkun statiku u ma jistax ikun binarju eżekutibbli.
Biex iżommu kont tal-bidliet fil-fajls tal-konfigurazzjoni tas-sistema, l-amministraturi tas-sistema normalment jagħmlu kopji (jew backups) tal-fajls tal-konfigurazzjoni qabel ma jimmodifikawhom. B'dan il-mod jekk immodifikaw direttament il-fajl oriġinali u għamlu żball, jistgħu jerġgħu lura għall-kopja ssejvjata.
Etckeeper huwa ġabra ta' għodod sempliċi, faċli biex tużah, modulari u konfigurabbli biex tħalli /etc
jiġi ġestit bl-użu tal-kontroll tal-verżjoni. Jippermettilek taħżen bidliet fid-direttorju /etc
f'sistema ta' kontroll tal-verżjoni (VCS) bħal git (li huwa l-VCS preferut), mercurial, bazaar jew repożitorju darcs. B'hekk tippermettilek tuża git biex tirrevedi jew terġa 'lura bidliet li saru f'/etc
, f'każ ta' żball.
Il-karatteristiċi l-oħra tiegħu huma:
- tappoġġa l-integrazzjoni ma' maniġers tal-pakketti ta' quddiem inklużi Zypper u pacman-g2 biex jimpenjaw awtomatikament il-bidliet li saru fuq
/etc
waqt l-aġġornamenti tal-pakketti. - jissegwi l-metadata tal-fajl (bħall-permessi tal-fajl) li git normalment ma jappoġġjax, iżda li huwa importanti għal
/etc
, u - jinkludi kemm xogħol cron kif ukoll timer systemd, li kull wieħed jista' jikkommetti bidliet li joħorġu għal
/etc
awtomatikament darba kuljum.
Kif Tinstalla Etckeeper fil-Linux
Etckeeper huwa disponibbli f'Debian, Ubuntu, Fedora, u distribuzzjonijiet oħra tal-Linux. Biex tinstallah, uża l-maniġer tal-pakkett default tiegħek kif muri. Innota li dan il-kmand se jinstalla wkoll git u ftit pakketti oħra bħala dipendenzi.
$ 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
Fuq distribuzzjonijiet Enterprise Linux bħal RedHat Enterprise Linux (RHEL), CentOS u oħrajn, trid iżżid ir-repożitorju EPEL qabel ma tinstallah kif muri.
# yum install epel-release # yum install etckeeper
Konfigurazzjoni ta' Etckeeper fil-Linux
Ladarba tkun installajt etckeeper kif muri hawn fuq, għandek bżonn tikkonfigura kif se topera u l-fajl tal-konfigurazzjoni prinċipali tiegħu huwa /etc/etckeeper/etckeeper.conf. Biex tiftaħha għall-editjar, uża kwalunkwe editur favorit tiegħek ibbażat fuq it-test kif muri.
# vim /etc/etckeeper/etckeeper.conf OR $ sudo nano /etc/etckeeper/etckeeper.conf
Il-fajl fih diversi għażliet ta 'konfigurazzjoni (kull waħda b'deskrizzjoni żgħira u ċara tal-użu) li jippermettulek tissettja s-sistema ta' kontroll tal-verżjoni (VCS) biex tuża, tgħaddi l-għażliet lil VSC; biex jawtorizza jew tiddiżattiva t-tajmer, tippermetti jew tiddiżattiva twissija speċjali ta' fajl, tippermetti jew tiddiżattiva etckeeper milli jikkommetti bidliet eżistenti għal /etc
qabel l-installazzjoni.
Ukoll, tista 'tissettja l-maniġer tal-pakkett ta' quddiem jew ta 'livell ogħla (bħal rpm eċċ.) biex taħdem ma' etckeeper.
Jekk għamilt xi tibdil(i) fil-fajl, issalvaha u agħlaq il-fajl.
Inizjalizza r-Repożitorju Git u Wettaq Initial Commit
Issa li kkonfigurajt l-etckeeper, għandek bżonn tibda r-repożitorju Git biex tibda ssegwi kwalunkwe tibdil fid-direttorju /etc
tiegħek kif ġej. Tista 'biss tmexxi etckeeper bil-permessi ta' l-għeruq, inkella uża sudo.
$ cd $ sudo etckeeper init
Sussegwentement, pass biex etckeeper tkun tista 'taħdem awtomatikament, għandek bżonn tmexxi l-ewwel impenn biex tibda żżomm kont tal-bidliet f'/etc
, kif ġej.
$ sudo etckeeper commit "first commit"
Wara li tmexxi l-ewwel impenn tiegħek, etckeeper permezz ta' git issa qed issegwi kwalunkwe tibdil fid-direttorju /etc
. Issa ipprova agħmel xi tibdil fi kwalunkwe mill-fajls tal-konfigurazzjoni.
Imbagħad mexxi l-kmand li ġej biex turi fajls li nbidlu mill-aħħar impenn; dan il-kmand essenzjalment juri l-bidliet f'/etc
mhux imfassla għall-kommit, fejn VCS tfisser git u \status huwa sub-kmand git.
$ sudo etckeeper vcs status
Imbagħad ikkommetti l-bidliet riċenti kif ġej.
$ sudo etckeeper commit "changed hosts and phpmyadmin config files"
Biex tara log tal-kommessi kollha (id u kumment ta' kull impenn), tista' tmexxi l-kmand li ġej.
$ sudo etckeeper vcs log
Tista 'wkoll turi d-dettalji ta' impenn, sempliċement speċifika l-ID tal-kommit (l-ewwel ftit karattri jistgħu jaħdmu) kif muri.:
$ sudo etckeeper vcs show a153b68479d0c440cc42c228cbbb6984095f322d OR $ sudo etckeeper vcs show a153b6847
Barra minn hekk, tista 'tara d-differenza bejn żewġ impenji kif muri. Dan huwa speċjalment utli jekk trid tirrevoka bidliet kif muri fit-taqsima li jmiss. Tista' tuża l-vleġeġ biex tiskrollja 'l fuq u' l isfel jew xellug u lemin, u tieqaf billi tagħfas q
.
$ sudo etckeeper vcs show 704cc56 a153b6847
L-essenza ta' etckeeper hija li jgħinek issegwi l-bidliet fid-direttorju /etc
tiegħek u ireġġa' lura l-bidliet fejn meħtieġ. Jekk wieħed jassumi li tirrealizza li għamilt xi żbalji fil-/etc/nginx/nginx.conf meta editjejtha l-aħħar u s-servizz Nginx ma jistax jerġa’ jinbeda minħabba żbalji fl-istruttura tal-konfigurazzjoni, tista’ terġa’ lura għall-kopja ssejvjata f’mod speċifiku. commit (eż. 704cc56) fejn taħseb li l-konfigurazzjoni kienet korretta kif ġej.
$ sudo etckeeper vcs checkout 704cc56 /etc/nginx/nginx.conf
Alternattivament, tista' tikkanċella l-bidliet kollha u terġa' lura għall-verżjonijiet tal-fajls kollha taħt /etc
(u s-subdirettorji tiegħu) maħżuna f'kommit speċifiku.
$ sudo etckeeper vcs checkout 704cc56
Kif Tippermetti Bidliet li jsiru Awtomatikament
Etckeeper wkoll vapuri ma 'servizz u unitajiet ta' tajmer għal Systemd, inklużi fil-pakkett. Biex tniedi \Autocommit ta' bidliet fid-direttorju /etc
, sempliċement ibda l-unità etckeeper.timer
għalissa u ċċekkja jekk hix taħdem, kif ġej.
$ sudo systemctl start etckeeper.timer $ sudo systemctl status etckeeper.timer
U ppermettiha li tibda awtomatikament fil-boot tas-sistema kif muri.
$ sudo systemctl enable etckeeper.timer
Għal aktar informazzjoni, ara l-Paġna tal-Proġett Etckeeper: https://etckeeper.branchable.com/.
F'din il-gwida, urejna kif tinstalla u tuża etckeeper għal bidliet fil-maħżen fid-direttorju /etc
f'sistema ta' kontroll tal-verżjoni (VCS) bħal git u tirrevedi jew terġa' lura bidliet li saru f', fejn meħtieġ. Aqsam il-ħsibijiet tiegħek jew staqsi mistoqsijiet dwar etckeeper permezz tal-formola ta' feedback hawn taħt.