I'm curious to how people are deploying FreeBSD's ports in their environment. I assume that most people using FreeBSD are indeed using Ports (and often portupgrade for upgrading with binaries). I am however interested in how you have this setup, as I'm not satisfied with how things work in recent versions. I'm now running FreeBSD 9.0 and are having issues.
I've set things up as follows:
- /usr/ports is shared via NFS from one node (with nightly 'portsnap fetch update').
- Each node mounts /usr/ports with read-write
- I've set "WRKDIRPREFIX=/usr/tmp" in /etc/make.conf on all nodes
- I've configured the Portsnap to use a local index by adding the following to /usr/local/etc/pkgtools.conf:
ENV['LOCALINDICES'] ||= '/var/db'
ENV['PORTS_INDEX'] ||= ENV['LOCALINDICES'] + '/INDEX.local'
I can successfully run portupgrade -p package
to build a package and then portupgrade -P package
to install the binary on the other nodes.
Yet, sometime I receive the following issue: /var/db/INDEX.local:23265:dbm_store failed
I cannot think of any other optimizations I can do to the system, as the index now resides locally, and the only thing really exported is the ports-tree and nothing is ever written to there from the nodes.