Copying system/ports configuration?

Mel fbsd.questions at
Wed Dec 17 08:00:55 UTC 2008

On Tuesday 16 December 2008 16:16:27 Andrew Gould wrote:
> On Tue, Dec 16, 2008 at 9:03 AM, Dr. Jennifer Nussbaum
> <bg271828 at>wrote:
> > I have a FreeBSD 7.0 system that im using in production. I want to create
> > a FreeBSD virtual machine, to use as a testbed for this production box.
> >
> > The last time i did this it took a lot of time to get the VM set
> > up--installing all the right ports, getting the database configuration
> > right, etc.
> >
> > Are there any shortcuts for this, e.g. a way i can automatically install
> > the same ports on the new "machine"? I didnt see anything in the handbook
> > or FAQ about this, but id think that people need to do this all the time.
> > Any other advice for mirroring the system?
> >
> > Thanks!
> >
> > Jen
> Someone once posted a shell script that obtained a list of installed ports
> from the package database system and fed the results to pkg_create, which
> would create binary packages.  Unfortunately, I can't locate the script.

cd /var/db/pkg
mkdir /var/tmp/packages
for DIR in *; do
	if test -d ${DIR} -a -f ${DIR}/+CONTENTS; do
		pkg_create -vb ${DIR} /var/tmp/packages/${DIR}.tbz

This will create a package for all installed software in /var/tmp/packages. 
Adjust accordingly.

Once ssh is in place on target:
scp -rp /var/tmp/packages target.machine:/var/tmp

On target:
cd /var/tmp/packages
for FILE in *; do pkg_add ${FILE}; done

Then all that's left is /usr/local/etc/ and possibly some 
dirs /usr/local/share.

Problem with today's modular software: they start with the modules
    and never get to the software part.

More information about the freebsd-questions mailing list