Bii o ṣe le Ṣakoso/ati be be lo pẹlu Iṣakoso Ẹya Lilo Etckeeper lori Linux


Ninu ilana ilana Unix/Linux, /ati be be lo itọsọna ni ibiti awọn faili iṣeto-gbooro-jakejado eto-ogun ati awọn ilana wa; o jẹ ipo aarin fun gbogbo awọn faili iṣeto-jakejado. Faili iṣeto ni faili agbegbe ti a lo lati ṣakoso bi eto kan ṣe n ṣiṣẹ - o gbọdọ jẹ aimi ati pe ko le jẹ alakomeji ti o le ṣiṣẹ.

Lati tọju abala awọn ayipada si awọn faili iṣeto eto, awọn alabojuto eto deede ṣe awọn adakọ (tabi awọn afẹyinti) ti awọn faili iṣeto ṣaaju iṣatunṣe wọn. Iyẹn ọna ti wọn ba yipada faili atilẹba taara ti wọn ṣe aṣiṣe kan, wọn le pada si ẹda ti o fipamọ.

Etckeeper jẹ ọna ti o rọrun, rọrun-lati-lo, modular ati atunto gbigba ti awọn irinṣẹ lati jẹ ki /ati be be lo ni iṣakoso nipa lilo iṣakoso ẹya. O fun ọ laaye lati tọju awọn ayipada ninu itọsọna /ati be be lo ninu eto iṣakoso ẹya kan (VCS) bii git (eyiti o jẹ VCS ti o fẹ julọ), iṣowo-ọja, bazaa tabi ibi ipamọ darcs. Nitorinaa o fun ọ laaye lati lo git lati ṣe atunyẹwo tabi tun pada awọn ayipada ti a ṣe si /ati be be lo , ni idi ti aṣiṣe kan.

Awọn ẹya miiran ni:

  1. o ṣe atilẹyin iṣọpọ pẹlu awọn alakoso package iwaju-opin pẹlu Zypper ati pacman-g2 si awọn ayipada adaṣe adaṣe ti a ṣe si /ati be be lo lakoko awọn iṣagbega package.
  2. o tọpinpin metadata faili (bii awọn igbanilaaye faili) ti git kii ṣe atilẹyin nigbagbogbo, ṣugbọn iyẹn ṣe pataki fun /ati be be lo , ati
  3. o pẹlu mejeeji iṣẹ cron ati aago eto, eyiti ọkọọkan le ṣe awọn ayipada ti njade si /ati be be lo ni ẹẹkan ni ọjọ kan.

Bii o ṣe le Fi Etckeeper sori Linux

Etckeeper wa ni Debian, Ubuntu, Fedora, ati awọn pinpin Linux miiran. Lati fi sii, lo oluṣakoso package aiyipada rẹ bi o ti han. Ṣe akiyesi pe aṣẹ yii yoo tun fi sori ẹrọ git ati awọn idii miiran diẹ bi awọn igbẹkẹle.

$ 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

Lori awọn pinpin Lainos Idawọlẹ bii RedHat Idawọlẹ Lainos (RHEL), CentOS ati awọn miiran, o nilo lati ṣafikun ibi ipamọ EPEL ṣaaju fifi sii bi o ti han.

# yum install epel-release
# yum install etckeeper

Tito leto Etckeeper ni Linux

Lọgan ti o ba ti fi sori ẹrọ etckeeper bi a ti han loke, o nilo lati tunto bawo ni yoo ṣe ṣiṣẹ ati faili iṣeto akọkọ rẹ ni /etc/etckeeper/etckeeper.conf. Lati ṣii rẹ fun ṣiṣatunkọ, lo eyikeyi awọn olootu ti o da lori ọrọ ayanfẹ rẹ bi o ti han.

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

Faili naa ni awọn aṣayan atunto pupọ (ọkọọkan pẹlu kekere, apejuwe ijuwe lilo) ti o fun ọ laaye lati ṣeto eto iṣakoso ẹya (VCS) lati lo, awọn aṣayan kọja si VSC; lati mu ṣiṣẹ tabi mu aago ṣiṣẹ, mu ṣiṣẹ tabi mu ikilọ faili pataki, mu ṣiṣẹ tabi mu abọ ati bẹbẹ lọ lati ṣe awọn ayipada to wa si /ati be be lo ṣaaju fifi sori ẹrọ.

Pẹlupẹlu, o le ṣeto opin-iwaju tabi oluṣakoso package ipele giga (bii rpm ati bẹbẹ lọ) lati ṣiṣẹ pẹlu olutọju ati bẹbẹ lọ.

Ti o ba ti ṣe awọn ayipada (s) eyikeyi ninu faili naa, fipamọ ati pa faili naa.

Bibẹrẹ Ibi ipamọ Git ati Ṣiṣe Ifarabalẹ Ibẹrẹ

Nisisiyi pe o ti tunto ati be be lo, o nilo lati ṣe ipilẹ ibi ipamọ Git lati bẹrẹ titele eyikeyi awọn ayipada ninu ilana /ati be be lo bi atẹle. O le ṣiṣe nikan olutọju ati awọn igbanilaaye root, bibẹkọ ti lo sudo.

$ cd 
$ sudo etckeeper init

Itele, igbesẹ fun olutọju etc lati ni anfani lati ṣiṣẹ ni adaṣe, o nilo lati ṣiṣẹ ṣiṣe akọkọ lati bẹrẹ ṣiṣe atẹle awọn ayipada ninu /ati be be lo , bi atẹle.

$ sudo etckeeper commit "first commit"

Lẹhin ṣiṣe ṣiṣe akọkọ rẹ, ati bẹbẹ lọ nipasẹ git n ṣe atẹle eyikeyi awọn ayipada ninu /ati be be lo itọsọna. Bayi gbiyanju lati ṣe eyikeyi awọn ayipada ninu eyikeyi awọn faili iṣeto.

Lẹhinna ṣiṣe aṣẹ atẹle lati fihan awọn faili ti o ti yipada lati igba ti o kẹhin; aṣẹ yii fihan ni pataki awọn ayipada ni /ati be be lo ti ko ṣe apẹrẹ fun ṣiṣe, nibiti VCS tumọ si git ati\"ipo" jẹ aṣẹ-kekere git.

$ sudo etckeeper vcs status

Lẹhinna ṣe awọn ayipada to ṣẹṣẹ bi atẹle.

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

Lati wo akọọlẹ ti gbogbo awọn iṣẹ (id ṣẹ kọọkan ati ọrọìwòye), o le ṣiṣe aṣẹ atẹle.

$ sudo etckeeper vcs log

O tun le ṣe afihan awọn alaye ti igbẹkẹle kan, sọ pato ID idanimọ (awọn ohun kikọ diẹ akọkọ le ṣiṣẹ) bi a ṣe han.:

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

Yato si, o le wo iyatọ laarin awọn iṣẹ meji bi o ti han. Eyi wulo julọ paapaa ti o ba fẹ fagile awọn ayipada bi o ṣe han ninu apakan ti nbọ. O le lo awọn bọtini itọka lati yi lọ si oke ati isalẹ tabi osi ati ọtun, ki o dawọ duro nipa titẹ q .

$ sudo etckeeper vcs show 704cc56 a153b6847

Koko ti olutọju etc ni lati ṣe iranlọwọ fun ọ ni orin awọn ayipada si itọsọna /ati be be lo ati yiyipada awọn ayipada nibiti o ṣe pataki. A ro pe o mọ pe o ṣe awọn aṣiṣe diẹ ninu /etc/nginx/nginx.conf nigbati o satunkọ rẹ kẹhin ati pe iṣẹ Nginx ko le tun bẹrẹ nitori awọn aṣiṣe ninu iṣeto iṣeto, o le pada si ẹda ti o fipamọ ni pato kan dá (fun apẹẹrẹ 704cc56) nibiti o ro pe iṣeto naa tọ bi atẹle.

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

Ni omiiran, o le fagile gbogbo awọn ayipada ki o pada si awọn ẹya ti gbogbo awọn faili labẹ /ati be be lo (ati awọn ilana-iha-kekere rẹ) ti o fipamọ sinu iṣẹ kan pato.

$ sudo etckeeper vcs checkout 704cc56 

Bii o ṣe le Jeki Awọn ayipada lati ṣe Ni adaṣe

Etckeeper tun gbe pẹlu iṣẹ kan ati awọn sika aago fun Systemd, ti o wa ninu apo-iwe. Lati ṣe ifilọlẹ\"Autocommit" ti awọn ayipada ninu itọsọna /ati be be lo , bẹrẹ ni ibẹrẹ etckeeper.timer ẹyọ fun bayi ati ṣayẹwo ti o ba ti n lọ ati ṣiṣe, bi atẹle.

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

Ati mu ki o bẹrẹ ni idojukọ ni ibẹrẹ eto bi o ti han.

$ sudo systemctl enable etckeeper.timer

Fun alaye diẹ sii, wo Oju-iwe Itọsọna Etckeeper: https://etckeeper.branchable.com/.

Ninu itọsọna yii, a ti fihan bi a ṣe le fi sori ẹrọ ati lilo abayọ fun awọn ayipada ile itaja ni /ati be be lo itọsọna ninu eto iṣakoso ẹya kan (VCS) bii git ati atunyẹwo tabi yiyipada awọn ayipada ti a ṣe si /ati be be lo , nibiti o ṣe pataki. Pin awọn ero rẹ tabi beere awọn ibeere nipa ati be be lo nipasẹ ọna esi ni isalẹ.