Within the Unix/Linux listing construction, the /and many others listing is the place host-specific system-wide configuration information and directories are situated; it’s a central location for all system-wide configuration information. A configuration file is a neighborhood file used to manage how a program works – it should be static and can’t be an executable binary.
To maintain monitor of modifications to system configuration information, system directors usually make copies (or backups) of configuration information earlier than modifying them. That approach in the event that they straight modified the unique file and made a mistake, they’ll revert to the saved copy.
Etckeeper is a straightforward, easy-to-use, modular and configurable assortment of instruments to let /and many others be managed utilizing model management. It allows you to retailer modifications within the /and many others listing in a model management system (VCS) comparable to git (which is the popular VCS), mercurial, bazaar or darcs repository. Thus permitting you to make use of git to evaluation or revert modifications that have been made to /and many others, in case of a mistake.
Its different options are:
it helps integration with front-end bundle managers together with APT, YUM, DNF, Zypper and pacman-g2 to auto commit modifications made to /and many others throughout bundle upgrades.
it tracks file metadata (such because the file permissions) that git doesn’t normally assist, however that’s essential for /and many others, and
it contains each a cron job and a systemd timer, which every can commit exiting modifications to /and many others mechanically as soon as per day.
Methods to Set up Etckeeper in Linux
Etckeeper is obtainable in Debian, Ubuntu, Fedora, and different Linux distributions. To put in it, use your default bundle supervisor as proven. Observe that this command can even set up git and some different packages as dependencies.
$ sudo apt-get set up etckeeper #Ubuntu and Debian
# apt-get set up etckeeper #Debian as root person
# dnf set up etckeeper #Fedora 22+
$ sudo zypper set up etckeeper #OpenSUSE 15
On Enterprise Linux distributions comparable to RedHat Enterprise Linux (RHEL), CentOS and others, you should add the EPEL repository earlier than putting in it as proven.
# yum set up epel-release
# yum set up etckeeper
Configuring Etckeeper in Linux
After you have put in etckeeper as proven above, you should configure the way it will function and its primary configuration file is /and many others/etckeeper/etckeeper.conf. To open it for modifying, use any of your favourite text-based editors as proven.
# vim /and many others/etckeeper/etckeeper.conf
$ sudo nano /and many others/etckeeper/etckeeper.conf
The file incorporates a number of configuration choices (every with a small, clear utilization description) that let you set the model management system (VCS) to make use of, move choices to VSC; to allow or disable timer, allow or disable particular file warning, allow or disable etckeeper from committing present modifications to /and many others earlier than set up.
Additionally, you’ll be able to set the front-end or higher-level bundle supervisor (comparable to apt, yum, dnf and many others.) and underlying or low-level bundle supervisor (dpkg, rpm and many others.) to work with etckeeper.
If in case you have made any change(s) within the file, reserve it and shut the file.
Initializing the Git Repository and Carry out Preliminary Commit
Now that you’ve configured etckeeper, you should initialize the Git repository to start out monitoring any modifications in your /and many others listing as follows. You possibly can solely run etckeeper with root permissions, in any other case use sudo.
$ sudo etckeeper init
Subsequent, step for etckeeper to have the ability to work mechanically, you should run the primary commit to start out maintaining monitor of the modifications in /and many others, as follows.
$ sudo etckeeper commit “first commit”
Making Adjustments and Committing
After operating your first commit, etckeeper by way of git is now monitoring any modifications within the /and many others listing. Now attempt to make any modifications in any of the configuration information.
Then run the next command to point out information which have modified for the reason that final commit; this command basically reveals the modifications in /and many others not staged for commit, the place VCS means git and “standing” is a git sub-command.
$ sudo etckeeper vcs standing
Then commit the current modifications as follows.
$ sudo etckeeper commit “modified hosts and phpmyadmin config information”
View Commit Logs
To view a log of all commits (every commit’s id and remark), you’ll be able to run the next command.
$ sudo etckeeper vcs log
You too can present the small print of a commit, merely specify the commit ID (the primary few characters can work) as proven.:
$ sudo etckeeper vcs present a153b68479d0c440cc42c228cbbb6984095f322d
$ sudo etckeeper vcs present a153b6847
Moreover, you’ll be able to view the distinction between two commits as proven. That is particularly helpful if you wish to revoke modifications as proven within the subsequent part. You should use the arrow keys to scroll up and down or left and proper, and give up by urgent q.
$ sudo etckeeper vcs present 704cc56 a153b6847
Methods to Revoke Adjustments
The essence of etckeeper is that will help you monitor modifications to your /and many others listing and reverse the modifications the place mandatory. Assuming you understand that you simply made some errors within the /and many others/nginx/nginx.conf whenever you final edited it and the Nginx service can’t be restarted due to errors within the configuration construction, you’ll be able to revert to the saved copy in a selected commit (e.g 704cc56) the place you assume the configuration was appropriate as follows.
$ sudo etckeeper vcs checkout 704cc56 /and many others/nginx/nginx.conf
Alternatively, you’ll be able to cancel all modifications and revert to variations of all information below /and many others (and its sub-directories) saved in a selected commit.
$ sudo etckeeper vcs checkout 704cc56
Methods to Allow Adjustments to be Dedicated Routinely
Etckeeper additionally ships with a service and timer models for Systemd, included within the bundle. To launch “Autocommit” of modifications within the /and many others listing, merely begin etckeeper.timer unit for now and verify whether it is up and operating, as follows.
$ sudo systemctl begin etckeeper.timer
$ sudo systemctl standing etckeeper.timer
And allow it to auto-start at system boot as proven.
$ sudo systemctl allow etckeeper.timer
For extra data, see the Etckeeper Undertaking Web page: https://etckeeper.branchable.com/.
On this information, we’ve proven tips on how to set up and use etckeeper for retailer modifications within the /and many others listing in a model management system (VCS) comparable to git and evaluation or revert modifications that have been made to /and many others, the place mandatory. Share your ideas or ask questions on etckeeper by way of the suggestions kind beneath.