Date: Mon, 26 Feb 2007 12:48:52 -0500 From: Chuck Swiger <cswiger@mac.com> To: Rob <freebsd@deathbeforedecaf.net> Cc: freebsd-questions@freebsd.org Subject: Re: Using source control to manage system configs Message-ID: <45E31D84.8080605@mac.com> In-Reply-To: <2D57E1E1-DDD0-41AA-9CE2-000B830B5798@deathbeforedecaf.net> References: <2D57E1E1-DDD0-41AA-9CE2-000B830B5798@deathbeforedecaf.net>
next in thread | previous in thread | raw e-mail | index | archive | help
Rob wrote: > I'd like some advice on managing config files on multiple servers with a > source control system. The idea is to update files locally, and commit > them back to a central repository. > > I know that CVS is the usual choice, but there are a couple of things > that I can't get CVS to do. [ ... ] > So... has anyone come up with a neat way to do these things in CVS, or > an SCM system that does it better? 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. 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. You might also consider starting with a more simple approach, which is making changes on the clients, and then pulling things under /etc, /usr/local/etc, /var/ perhaps, etc somewhere and then importing those into version control, as a backup and as a way of tracking significant changes, being able to rollback or merge changes, and so forth that you get from SCM/VCS. -- -Chuck
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?45E31D84.8080605>