[OT] - Best Practices(TM) for Configuration File Changes

Glen Barber glen.j.barber at gmail.com
Sun Mar 29 05:57:32 PDT 2009

Hi, Roland.

On Sun, Mar 29, 2009 at 8:45 AM, Roland Smith <rsmith at xs4all.nl> wrote:
> My configuration files are kept in git managed directories under
> ~/setup/<hostname>.  Every <hostname> directory is its own
> repository. The reason that I'm using git is because it does what I
> need, is small and fast and doesn't require an external reporitory. For
> configuration files which are usually plain text all revision control
> systems would probably work OK.
> Every directory contains two perl scripts, check.pl and install.pl that
> respectively check the differences between files in the repository and
> in the filesystem and install files. Both these programs read a file
> called 'filelist.<username>'. This is a text file that has on every line
> a file in the reposirory, a permission, and its location in the
> filesystem (e.g. under /etc or /usr/local/etc for user root, or in $HOME
> for other users) and any post-install commands. Both scripts only
> process the filelists for the user that is running the script.


I currently use subversion for my University work (primarily because
of how well it handles binary files).  SVN seems to be a bit overkill
for what I am looking for.

> The file from the first column is installed in the location in the third
> column with the permissions listed in the second column. The rest of the
> line (if any) is interpreted as a list of commands and executed by a subshell.
> This system makes it easy to see if there are any differences between
> the configuration files in the repository and the real configuration
> files (e.g. after a mergemaster run). And it can install every file in
> its correct place. It also makes sure that users can only install their
> own files, by reading only that user's filelist.

I'll have to play around with this -- interesting.


Glen Barber

More information about the freebsd-questions mailing list