From owner-freebsd-questions@FreeBSD.ORG Tue Feb 27 13:44:59 2007 Return-Path: X-Original-To: freebsd-questions@freebsd.org Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id D849616A400 for ; Tue, 27 Feb 2007 13:44:59 +0000 (UTC) (envelope-from freebsd@deathbeforedecaf.net) Received: from omta03sl.mx.bigpond.com (omta03sl.mx.bigpond.com [144.140.92.155]) by mx1.freebsd.org (Postfix) with ESMTP id 6E3EC13C441 for ; Tue, 27 Feb 2007 13:44:59 +0000 (UTC) (envelope-from freebsd@deathbeforedecaf.net) Received: from oaamta03sl.mx.bigpond.com ([121.209.32.118]) by omta03sl.mx.bigpond.com with ESMTP id <20070227134454.SOZJ14447.omta03sl.mx.bigpond.com@oaamta03sl.mx.bigpond.com>; Tue, 27 Feb 2007 13:44:54 +0000 Received: from mail.0x7e.net ([121.209.32.118]) by oaamta03sl.mx.bigpond.com with ESMTP id <20070227134453.JMZS3580.oaamta03sl.mx.bigpond.com@mail.0x7e.net>; Tue, 27 Feb 2007 13:44:53 +0000 Received: from qux.0x7e.net ([10.10.10.10]) by mail.0x7e.net with esmtp (Exim 4.43 (FreeBSD)) id 1HM2dR-000AOP-5c; Wed, 28 Feb 2007 00:14:53 +1030 In-Reply-To: <226ae0c60702261046m671647bbwc9aef6b1f6475522@mail.gmail.com> References: <226ae0c60702261046m671647bbwc9aef6b1f6475522@mail.gmail.com> Mime-Version: 1.0 (Apple Message framework v752.2) Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Message-Id: <934FF44E-39F5-410B-B235-5F5709B4340A@deathbeforedecaf.net> Content-Transfer-Encoding: 7bit From: Rob Date: Wed, 28 Feb 2007 00:14:53 +1030 To: David Robillard , Chuck Swiger X-Mailer: Apple Mail (2.752.2) Cc: FreeBSD Questions Subject: Re: Using source control to manage system configs X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Feb 2007 13:44:59 -0000 On 27/02/2007, at 5:16 AM, David Robillard wrote: > 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. David & Chuck, I'm already using RCS, and I've built a somewhat clunky mechanism around it. One machine holds the master copies of - site-wide files (/etc/ntp.conf, /etc/resolv.conf, /etc/syslog.conf) - host-specific files (/etc/hosts, /etc/passwd, /etc/rc.conf) for each server At install time, both sets of files are tarred up and copied to the new server. If there's a conflict, the host-specific files win. Problem: It's a good system for installs, but then I update the files on the working server. I always mean to merge the changes back to the master copy, but it never quite happens. Solution: CVS with a remote repository looks good - updates on the server, and a central record of all changes. Reinstalling a server should be as easy as 'cvs co $HOST'. Problem: I don't want 6 identical copies of /etc/ntp.conf under version control, so the site-wide files and host-specific files should be in separate modules. But they have the same working directory, and this is where I run into problems with CVS - it's impossible to check them both out to the same server. Is there some way to do this with Subversion? Or can a file be shared by different modules? Or am I going about this all wrong? > 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? ;) Absolutely - I dump /home from each server to an old iPod (it's a small network). But backups are for preserving entire filesystems. I want my system configs to be version controlled, as well as saved. > Have fun, Of course - that's why I do this :-) Rob.