Otu esi ejikwa/wdg na njikwa ụdị iji Etckeeper na Linux


N'ime usoro ndekọ aha Unix/Linux, akwụkwọ ndekọ /etc bụ ebe faịlụ nhazi na akwụkwọ ndekọ aha ndị ọbịa-kpọmkwem dị; ọ bụ ebe etiti maka faịlụ nhazi usoro niile. Faịlụ nhazi bụ faịlụ mpaghara ejiri iji chịkwaa ka mmemme si arụ ọrụ - ọ ga-abụrịrị ihe kwụ ọtọ na enweghị ike ịbụ ọnụọgụ abụọ enwere ike ime ya.

Ka idobe mgbanwe na faịlụ nhazi sistemu, ndị na-ahụ maka sistemụ na-emekarị faịlụ nhazi (ma ọ bụ ndabere) nke faịlụ nhazi tupu ha agbanwee ha. N'ụzọ dị otú ahụ, ọ bụrụ na ha meziri faịlụ mbụ ozugbo wee mehie, ha nwere ike ịlaghachi na nnomi echekwara.

Etckeeper bụ ngwa dị mfe, dị mfe iji, modular na nhazi nke ngwaọrụ iji mee ka /etc jikwaa site na iji njikwa ụdị. Ọ na-enyere gị aka ichekwa mgbanwe na ndekọ /etc na sistemụ njikwa ụdị (VCS) dị ka git (nke bụ VCS kacha amasị), mercurial, bazaar ma ọ bụ ebe nchekwa darcs. Ya mere na-enye gị ohere iji git nyochaa ma ọ bụ tụgharịa mgbanwe emere na /etc, ọ bụrụ na emehieghị.

Njirimara ya ndị ọzọ bụ:

  1. ọ na-akwado mwekota ya na ndị njikwa ngwugwu n'ihu gụnyere Zypper na pacman-g2 ime mgbanwe na-akpaghị aka emere na /etc n'oge nkwalite ngwugwu.
  2. ọ na-esochi metadata faịlụ (dị ka ikike faịlụ) nke git anaghị akwadokarị, mana nke ahụ dị mkpa maka /etc, na
  3. ọ gụnyere ma ọrụ cron na ngụ oge, nke onye ọ bụla nwere ike ime mgbanwe ịpụ na /etc na-akpaghị aka otu ugboro kwa ụbọchị.

Otu esi etinye Etckeeper na Linux

Etckeeper dị na Debian, Ubuntu, Fedora, na nkesa Linux ndị ọzọ. Iji wụnye ya, jiri njikwa ngwugwu ndabere gị dịka egosiri. Rịba ama na iwu a ga-etinyekwa git na ngwungwu ole na ole ndị ọzọ ka ndabere.

$ 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

Na nkesa Linux Enterprise dị ka RedHat Enterprise Linux (RHEL), CentOS na ndị ọzọ, ịkwesịrị ịgbakwunye ebe nchekwa EPEL tupu itinye ya dịka egosiri.

# yum install epel-release
# yum install etckeeper

Na-ahazi Etckeeper na Linux

Ozugbo i tinyechara etckeeper dị ka egosiri n'elu, ịkwesịrị ịhazi otú ọ ga-esi arụ ọrụ na faịlụ nhazi ya bụ /etc/etckeeper/etckeeper.conf. Iji mepee ya maka ndezi, jiri ndị ndezi dabere na ederede ọkacha mmasị gị dịka egosiri.

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

Faịlụ nwere ọtụtụ nhọrọ nhazi (nke ọ bụla nwere obere nkọwa ojiji doro anya) nke na-enye gị ohere ịtọ usoro njikwa ụdị (VCS) iji, nyefee nhọrọ na VSC; iji mee ka ma ọ bụ gbanyụọ ngụ oge, mee ka ma ọ bụ gbanyụọ ịdọ aka ná ntị faịlụ pụrụ iche, mee ka ma ọ bụ gbanyụọ etckeeper ime mgbanwe dị na /etc tupu echichi.

Ọzọkwa, ị nwere ike ịtọ njedebe n'ihu ma ọ bụ onye njikwa ngwugwu dị elu (dị ka rpm wdg) iji rụọ ọrụ na onye na-elekọta wdg.

Ọ bụrụ na ịmeela mgbanwe ọ bụla na faịlụ ahụ, chekwaa ya ma mechie faịlụ ahụ.

Ịmalite ebe nchekwa Git wee rụọ ọrụ mbụ

Ugbu a ị haziela wdgkeeper, ịkwesịrị ibido ebe nchekwa Git ka ịmalite soro mgbanwe ọ bụla na ndekọ /etc gị dị ka ndị a. Ị nwere ike ịgba ọsọ wdgkeeper na ikikere mgbọrọgwụ, ma ọ bụghị jiri sudo.

$ cd 
$ sudo etckeeper init

Na-esote, nzọụkwụ maka etckeeper ka ị nwee ike ịrụ ọrụ na-akpaghị aka, ị ga-agba ọsọ nke mbụ iji malite idobe mgbanwe na /etc, dị ka ndị a.

$ sudo etckeeper commit "first commit"

Mgbe ịmechara nkwa mbụ gị, wdg onye na-elekọta site na git na-enyocha mgbanwe ọ bụla na ndekọ /etc. Ugbu a gbalịa ime mgbanwe ọ bụla na faịlụ nhazi ọ bụla.

Wee mee iwu na-esonụ iji gosi faịlụ ndị gbanwere kemgbe ikpeazụ; iwu a na-egosi n'ụzọ doro anya mgbanwe na /etc emebereghị maka ime, ebe VCS pụtara git na \status bụ iwu sub-iwut.

$ sudo etckeeper vcs status

Wee mee mgbanwe ndị na-adịbeghị anya dị ka ndị a.

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

Ka ilele ndekọ nke mmemme niile (id na ikwu okwu nke ọ bụla), ị nwere ike ịme iwu a.

$ sudo etckeeper vcs log

Ịnwekwara ike igosi nkọwa nke nkwa, naanị ezipụta ID ntinye (edemede ole na ole mbụ nwere ike ịrụ ọrụ) dịka egosiri.

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

Na mgbakwunye, ị nwere ike ịlele ọdịiche dị n'etiti mmemme abụọ dị ka egosiri. Nke a bara uru karịsịa ma ọ bụrụ na ịchọrọ kagbuo mgbanwe dịka egosiri na ngalaba na-esote. Ị nwere ike iji igodo akụ ka ịpịrị elu na ala ma ọ bụ aka ekpe na aka nri, wee kwụsị site na ịpị q.

$ sudo etckeeper vcs show 704cc56 a153b6847

Ihe kacha mkpa nke etckeeper bụ inyere gị aka soro mgbanwe na ndekọ / wdg ndekọ ma tụgharịa mgbanwe ndị ahụ ebe ọ dị mkpa. Na-eche na ị ghọtara na i mehiere ụfọdụ na /etc/nginx/nginx.conf mgbe emechara ya na ọrụ Nginx enweghị ike ịmalitegharị n'ihi njehie na nhazi nhazi, ị nwere ike ịlaghachi na nnomi echekwara na kpọmkwem. eme (dịka 704cc56) ebe ị chere na nhazi ahụ ziri ezi dịka ndị a.

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

N'aka nke ọzọ, ị nwere ike ịkagbu mgbanwe niile wee laghachi na ụdị faịlụ niile n'okpuru /etc(na akwụkwọ ndekọ aha ya) echekwara na ntinye aka.

$ sudo etckeeper vcs checkout 704cc56 

Otu esi eme ka mgbanwe mee na-akpaghị aka

Etckeeper na-ebufekwa nkeji ọrụ yana nkeji oge maka Systemd, gụnyere na ngwugwu ahụ. Iji malite \Autocommit nke mgbanwe na ndekọ /etc, malite naanị nkeji etckeeper.timer ugbu a wee lelee ma ọ na-arụ ọrụ, dị ka ndị a.

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

Ma mee ka ọ malite na akpaaka na buut sistemu dị ka egosiri.

$ sudo systemctl enable etckeeper.timer

Maka ozi ndị ọzọ, lee Etckeeper Project Page: https://etckeeper.branchable.com/.

N'ime ntuziaka a, anyị egosila otu esi etinye na iji etckeeper maka mgbanwe ụlọ ahịa na /etc ndekọ na sistemụ njikwa ụdị (VCS) dị ka git na nyochaa ma ọ bụ tụgharịa mgbanwe ndị emere na /etc, ebe ọ dị mkpa. Kekọrịta echiche gị ma ọ bụ jụọ ajụjụ gbasara etckeeper site na mpempe nzaghachi n'okpuru.