Strategy for managing files in /etc, suggestions?

Cameron Simpson cs at cskk.id.au
Thu Dec 17 00:20:57 UTC 2020


On 16Dec2020 22:32, Chris Green <cl at isbd.net> wrote:
>I use mercurial for managing all the little bash and python utilities
>that I write for my various Linux systems and it's very handy.
>
>I'm thinking that it would be an excellent idea to keep track of
>changes I do to system configuration files in /etc, I try to keep
>these to a minimum but some are inevitable.
>
>What's the best way of handling this, changes to very few files in a
>directory with (probably) thousands of files?  Is it best simply to
>copy them out to a development area, do changes there and copy them
>back to /etc?  I'm not entirely happy with this method but I can't
>really see a better way.

You could just change them in place, and keep the copied in a dev area.  
So:

    cd devdir
    hg init .
    mkdir etc
    cp -a /etc/hosts etc/
    hg add etc/hosts
    hg commit -m 'etc/hosts: original /etc/hosts' etc/hosts
    ... as root, modify /etc/hosts until happy ...
    cp -a /etc/hosts etc/
    hg commit -m 'etc/hosts: changed these things..."

So don't use the dev area as the master, ise the OS as the master. Just 
use the dev area to keep records of the orignal and subsequent changes.

Also, note that in many modern OS distros there are avenues to provide 
"additional" config files without treading on the originals. Usually 
some /etc/something.d directory where you can add your own files.  
Depends on the distro and the thing you're adjusting of course.

>Does anyone else do anything like either of the above?  ... or is my
>OCD getting the better of me! :-)

No, it is a sound approach. Particularly if you want to revert things.  
Or you do an OS update and need to compare the new venodr config against 
your costom one after the update. Etc.

Cheers,
Cameron Simpson <cs at cskk.id.au>



More information about the Mercurial mailing list