There are a handful of version control tools for Linux but they were not designed to work with system config files. For example, RCS resets the file ownership and permission when a commit is made.
This is when etckeeper comes into play. It works with a number of version control tools such as git and bzr. It restores ownership and permissions automatically. It also places hook in yum or aptitude so whenever you update your packages, config files under /etc are automatically backed up.
Installing etckeeper is fairly easy to do. On most systems, etckeeper is already on the distribution’s repository. If not, it can be installed with the following steps:
[bash]
git clone git://git.kitenet.net/etckeeper
cd etckeeper
vi etckeeper.conf # customize if necessary
make install
etckeeper init
etckeeper commit "initial commit"
[/bash]
Wala, you have installed etckeeper and created an initial commit. To perform version checking or run any vcs commands, do this:
[bash]
etckeeper vcs log
[/bash]
Which is equivalent to running git log under /etc.