Using source control to manage system configs

David Robillard david.robillard at
Mon Feb 26 18:46:48 UTC 2007

> If you don't have strong ties to CVS, already, I suggest using Subversion.  It
> handles many of your complaints about permissions and symlinks better than CVS
> does.

I agree, Subversion is better then CVS. We've switched from CVS to
Subversion a year ago and so far the entire dev team is very happy. If
you do have an existing CVS infrastructure, it's also possible to
switch to Subversion with cvs2svn which is in the ports tree (i.e.

> You might find that using something like cfengine from ports suits your goals
> better than rolling your own pushing mechanism.  The issue that you'll run
> into is that you tend to need a human or at least a decent set of rc scripts
> to properly adjust config files and make sure that services come back up after
> a significant config change or major version update exposing some
> compatibility problem.

Again, Chuck is absolutely right. Cfengine is great, but you must know
what you're doing.

If you simply want to track changes and be able to roll back your
configuration files, then  go with a more simple approach like using
RCS locally. RCS is part of the base FreeBSD system.

Just create a directory named RCS (in capital letters) and use the RCS
commands. Check the man pages for rcs(1) ci(1) co(1) rcsdiff(1) and
rcsintro(1). Actually, rcsintro(1) is probably where you want to

Now if you want to keep your changes on another machine, then it's
just a simple question of running a backup of your machines. (you do
backup right? ;)

I've been using RCS for 10 years now and it's simple, fast and does
not depend on your network. So it's always there even in worst case

RCS is also present under a whole bunch of different UNIX flavors like
FreeBSD, NetBSD, OpenBSD, RedHat, SuSE, Solaris, AIX, IRIX and HP-UX.
So you're never lost because it's always the same :)

Have fun,

David Robillard
UNIX systems administrator & Oracle DBA
CISSP, RHCE & Sun Certified Security Administrator
Montreal: +1 514 966 0122

More information about the freebsd-questions mailing list