Keeping multiple machine up to date

Matthew Seaman m.seaman at infracaninophile.co.uk
Tue Mar 2 08:18:13 PST 2004


On Tue, Mar 02, 2004 at 08:45:01AM -0700, hal wrote:
> I have 10 FreeBSD machines which I need to keep
> up to date software wise.  Half of the machines
> only have access to the local network.  On the
> machines which have network access I use cvsup.
> Cvsuping multiple machines is time consuming, is
> there a better way?  What is the conventional
> wisdom for keeping many machines up to date?
> 
> A pointer to an FAQ or something would be great.

The usual thing in this situation is to choose one machine as your
local repository for sources, run cvsup(1) on that, and then
distribute the sources from there to the rest of your systems.

There's several variations on doing that.  Perhaps the simplest thing
to do is just cvsup(1) the ports onto a designated build machine, use
that machine to build packages for all of the others and either share
out /usr/ports/packages by NFS or setup an anoymous FTP server.

Alternatively, you can just NFS export your /usr/ports directory to
all of the machines on your network, and build stuff on each machine.
A good idea when doing this is to set WRKDIRPREFIX and maybe DISTDIR
in your environment (see ports(7)), or in pkgtools.conf (if you're a
portupgrade user) to point to chunk of diskspace held locally to each
machine.  That will let you avoid thrashing your network when building
ports.  If you have a local DISTDIR on each machine you can export
your /usr/ports read only which can be an advantage.  Nb. to avoid
repeatedly downloading the same source tarballs, either share out
/usr/ports/distfiles or set DISTDIR to a local directory and use
MASTER_SITE_OVERRIDE to force the client machines to try and get the
distfiles from a local server before they go out to the net.

The most flexible way of doing this sort of thing is to set up a
machine as a cvsup(1) mirror or a CVS server, and pull down the CVS
repository onto it.  There's a net/cvsup-mirror port to help you do
that.  Then you can either cvsup(1) you client machines against the
local cvsup server, which is blindingly fast on a 100Mb/s network and
even better if your local server has a fast disk system, or you can
use CVS to check the ports tree out of that server.

There's some description of all this sort of thing in the handbook --
see

    http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/small-lan.html

but it doesn't say much more than I've put in this e-mail.

	Cheers,

	Matthew

-- 
Dr Matthew J Seaman MA, D.Phil.                       26 The Paddocks
                                                      Savill Way
PGP: http://www.infracaninophile.co.uk/pgpkey         Marlow
Tel: +44 1628 476614                                  Bucks., SL7 1TH UK
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-questions/attachments/20040302/33db98db/attachment.bin


More information about the freebsd-questions mailing list