This is a page where I want to track different methods of managing large installs. Currently I have 3 sites with ~30 machines in each site. In each site I have a few machines of different classes, for example DNS, Web, Mail, etc. Each of the machines runs the same src release with a slightly custom kernel (+CARP). So I want to build everything from a build box in one location and have all the other use packages from it.


I have a build machine where I have a Jail for each class of machine where I build packages. This machine is where I build the source as well.


I share the packages via NFS to the machines on the local network. Each machine mounts the directory where the packages of the class has been built. I also rsync them out to a machine in each site that then shares them out via NFS to the clients.

Package Mirror

I should be able to setup a webserver on the machine where I build them and use `pkg_add -r' to add packages. I think this would require keeping the ports up to date on all the client machines. (Simon points out that this should just use the Latest/ directory and not require keeping the local ports tree up-to-date).

  1. Install ezjail from ports on the package build machine.
  2. Build the jail using ezjail create.
  3. Start the jail and create /var/ports/packages.
  4. Install ports in the jail using make package-recursive or portinstall -p
  5. Setup apache on the build machine with an Alias pointing into the /var/ports/packages dir in the jail like:
    • Alias /packages-64bit-dns /usr/jails/dnsjail/var/ports/packages/
  6. On the client that you install the packages on, set the PACKAGESITE environment variable:
  7. pkg_add -r to your hearts content.


Build the kernel/world on one machine and share /usr/src and /usr/obj out via NFS to the machines in the local site. Then I rsync /usr/src and /usr/obj out to a NFS server in the other sites where the clients can mount it from.

FreeBSD Update Server

I have been attempting to setup an internal FreeBSD Update Server, but haven't had much luck. When I run the client it deletes a lot of what is on the file system and renders the system unbootable.

BradDavis/ManagingLargeInstallations (last edited 2009-06-29 01:22:25 by BradDavis)