Използване на Etckeeper за контрол на версиите на /etc

Въведение

В /etc/указателя, играе изключително важна роля в начина, по който функционира системата на Linux. Причината за това е, че почти всеки системен конфигурационен файл се намира вътре /etc/. Съхранените в него данни /etc/са свързани не само с вградените системни библиотеки, но и с новоинсталиран софтуер и неговата конфигурация. Инсталациите на системата и софтуера, надстройките и промените в конфигурацията се съхраняват в /etc/. По този начин добра практика ли е да се използва контрол на версиите, когато успявате /etc/да избегнете потенциални грешки, причинени от непредвидени или случайни неправилни операции.

С Etckeeper можете лесно да управлявате /etc/с вашия механизъм за контрол на версиите, като използвате Git, Mercurial, Bazaar или Darcs хранилище. По подразбиране Etckeeper използва git, за да поддържа /etc/директорията на хранилището на версията с ежедневна детайлност, за да сведе до минимум потенциалната загуба на данни. Освен това ви позволява да запишете промените си ръчно по всяко време.

В тази статия нека да разгледаме как да инсталирате Etckeeper на сървърен екземпляр на CentOS 6, както и как ръчно да извършите commit и отмените промените.

Предпоставки

Инструкциите в тази статия бяха валидирани на екземпляр на Vultr CentOS 6 със стек LEMP. Инструкциите за други дистрибуции може да са различни.

Забележка: добра практика за сигурност е да имате достъп до вашата система като потребител без root права с sudo привилегии.

Стъпка 1: Инсталирайте Etckeeper

Etckeeper е включен в репото на EPEL Yum. Трябва да настроите EPEL Yum repo, преди да можете да инсталирате Etckeeper:

sudo yum install epel-release
sudo yum update
sudo yum install etckeeper

Успешната инсталация на Etckeeper автоматично ще инсталира git и други зависимости.

Можете да персонализирате конфигурацията на Etckeeper, като редактирате конфигурационния файл, намиращ се на /etc/etckeeper/etckeeper.conf. Въпреки това, конфигурацията по подразбиране е адекватна и ние ще я използваме за целите на този урок.

Стъпка 2: Конфигурирайте /etc като работна директория на git на Etckeeper

Можете да накарате Etckeeper да се третира /etc/като работна директория git, като изпълните следните команди:

cd /etc
sudo etckeeper init

Подкомандата "init" по-горе ще създаде файл с име .gitignoreи директория с име .gitв /etc/.

В .gitignoreсъдържа предварително дефиниран списък на файловете и не изисква управление с контрол на версиите. Ако е необходимо, можете да добавяте или изтривате имена на файлове в него, както желаете, просто не забравяйте да поставите по едно име на файл на ред между реда # begin section managed by etckeeper...и реда # end section managed by etckeeper.

В .gitдиректория е мястото за съхранение на версия хранилището на /etc/указателя.

Стъпка 3: Извършете първоначалния комит

Преди първоначалния комит можете да разгледате какво ще бъде ангажирано:

sudo etckeeper vcs status | more

В vcsпод-командването на Etckeeper ще се позове на контрол на версиите на софтуера (което е Git) да изпълнява следните под-команда в /etc/указателя. Така че командата по-горе е равна на:

sudo git -C /etc status | more

Натиснете , за space barда обърнете страница. Ако намерите файлове, които не трябва да бъдат контролирани с версия, добавете ги във .gitignoreфайла.

Сега можете да запишете цялото съдържание в директорията /etc (с изключение на тези файлове, дефинирани в .gitignore) във вашето git хранилище. Не забравяйте да напишете някои смислени коментари между две кавички за преглед.

sudo etckeeper commit "Initial config in /etc"

Тук можете да компресирате директорията git, за да спестите дисково пространство:

sudo etckeeper vcs gc

Стъпка 4: Извършете друг комит, след като направите промени в /etc

В съчетание с git, Etckeeper може да записва всякакви промени, които се случват в /etc/директорията, като добавяне, модифициране или изтриване на файлове, както и промени в собствеността и/или разрешенията за файлове и директории. Всичко /etc/подпада под неговата политика за контрол на версиите.

Моля, имайте предвид, че наличието /etc/на контрол на версиите не означава, че можете да извършвате каквато и да е операция върху него. Тежките неправилни операции могат да направят системата неработоспособна, преди Etckeeper да може да възстанови конфигурацията до работно състояние.

За целите на тестването трябва да правите безопасни промени само в /etc/, като например добавяне на нов файл, промяна на името на хоста в /etc/hosts, или инсталиране на нов софтуер с помощта на Yum.

Например добавете файла abcdeв /etc/:

sudo touch /etc/abcde

След това добавете реда 192.168.0.2 desktopвъв /etc/hostsфайла:

echo '192.168.0.2 desktop' | sudo tee -a /etc/hosts

Най-накрая можете да изпълните отново подкомандата "commit":

sudo etckeeper commit "add a file /etc/abcde and add a line to /etc/hosts"

Стъпка 5: Отменете промените си

Първо, можете да проверите историята на git, за да получите идентификатора и коментара на всеки комит:

sudo etckeeper vcs log

Второ, можете да проверите подробностите за всеки комит с първите няколко бита от неговия идентификатор на комит. Тук приемаме, че първият идентификатор на комит е 7f5bff, а вторият идентификатор на комит е 1aa658.

sudo etckeeper vcs show 1aa658

Можете да натиснете, за jда се придвижите надолу, натиснете за kда се придвижите нагоре, въведете /keyword<Enter>за търсене, натиснете, за qда излезете.

На трето място, можете също да сравните разликите между два комита със следната команда. Имайте предвид последователността от две ангажименти, естествена последователност поставя първото пред второто.

sudo etckeeper vcs diff 7f5bff..1aa658

Сега откривате, че сте конфигурирали неправилно името на хоста по /etc/hostsвреме на първото записване и второто записване, но добавянето на файла /etc/abcdeе правилна операция, можете да отмените промяната си само във /etc/hostsфайла със следната команда:

sudo etckeeper vcs checkout 7f5bff /etc/hosts

Ако искате да отмените всички промени между първия и втория комит, можете да използвате следната команда:

sudo etckeeper vcs checkout 7f5bff

Разбира се, все още можете да се върнете към втория комит:

sudo etckeeper vcs checkout 1aa658

Заключение

След като Etckeeper е конфигуриран правилно, можете да настроите и поддържате системата си с повече увереност. Независимо от това, имайте предвид, че контролът на версиите е различен от архивирането и /etc/директорията не е единственото място, за което трябва да се притеснявате. За да поддържате системата си във форма, освен механизма за контрол на версиите, трябва редовно да архивирате системата си.

Оставете коментар

Възходът на машините: Реални приложения на AI

Възходът на машините: Реални приложения на AI

Изкуственият интелект не е в бъдещето, тук е точно в настоящето. В този блог Прочетете как приложенията за изкуствен интелект са повлияли на различни сектори.

DDOS атаки: кратък преглед

DDOS атаки: кратък преглед

Вие също сте жертва на DDOS атаки и сте объркани относно методите за превенция? Прочетете тази статия, за да разрешите вашите запитвания.

Чудили ли сте се как хакерите печелят пари?

Чудили ли сте се как хакерите печелят пари?

Може би сте чували, че хакерите печелят много пари, но чудили ли сте се някога как печелят такива пари? нека обсъдим.

Революционни изобретения на Google, които ще улеснят живота ви.

Революционни изобретения на Google, които ще улеснят живота ви.

Искате ли да видите революционни изобретения на Google и как тези изобретения промениха живота на всяко човешко същество днес? След това прочетете в блога, за да видите изобретенията на Google.

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Концепцията за самоуправляващи се автомобили да тръгват по пътищата с помощта на изкуствен интелект е мечта, която имаме от известно време. Но въпреки няколкото обещания, те не се виждат никъде. Прочетете този блог, за да научите повече…

Технологична сингулярност: далечно бъдеще на човешката цивилизация?

Технологична сингулярност: далечно бъдеще на човешката цивилизация?

Тъй като науката се развива с бързи темпове, поемайки много от нашите усилия, рискът да се подложим на необяснима сингулярност също нараства. Прочетете какво може да означава сингулярността за нас.

Функционалности на референтните архитектурни слоеве за големи данни

Функционалности на референтните архитектурни слоеве за големи данни

Прочетете блога, за да разберете различни слоеве в архитектурата на големи данни и техните функционалности по най-простия начин.

Еволюция на съхранението на данни – инфографика

Еволюция на съхранението на данни – инфографика

Методите за съхранение на данните може да се развиват от раждането на данните. Този блог обхваща развитието на съхранението на данни на базата на инфографика.

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

В този дигитално задвижван свят устройствата за интелигентен дом се превърнаха в решаваща част от живота. Ето няколко невероятни предимства на интелигентните домашни устройства за това как те правят живота ни струващ и по-опростен.

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Наскоро Apple пусна macOS Catalina 10.15.4 допълнителна актуализация за отстраняване на проблеми, но изглежда, че актуализацията причинява повече проблеми, водещи до блокиране на mac машини. Прочетете тази статия, за да научите повече