Is there a standard way to keep modified Linux configuration files separate and identifiable? -


often need edit many configuration files under /etc, however, don't want these changes lost when i'll perform next system upgrade.

right now, i've housed configuration files of maintenance scripts in /opt/admin, , symlinked /etc targets there, doesn't seem right according standards i've seen. option thought of, housing these in /usr/local. aforementioned document says for use system administrator when installing software locally. that's closest i've got. however, /usr/local gets clobbered when install new non-packaged software.

is there standard/largely followed best-practice how maintain these? since not discussion page, answers should definite , article or 2 support them.

edit

since rightfully put on hold thought i'd redirect similar question in server fault.

there seem 2 general solutions - either use symlinks or maintain list of files (see ptman's answer in linked question).

for now, i'm using hybrid solution: maintain list of configuration files (/opt/admin/config/files). script (/opt/admin/scripts/link-config-files.sh) creates symlinked hierarchy (under /opt/admin/config). files accessible 1 place, it's clear they're located, there's central list of files maintained (no need manually link), , simple backup of /opt/admin includes configuration. here's script.

thanks jim, answer.

i keep parallel directory tree under user directory

/home/myuserid/config/hostname/    var        ....    etc        sysconfig            network 

and on. have deploy shell script install files correct place. private externally hosted git account.

i editing on copies in above parallel tree , deploy modified files.

if have more few systems maintain way, tools puppet or chef seem possible options, though come own headaches. disciplined, repeatable system administration not trivial.