Managing updates in jails

Alex Zbyslaw xfb52 at
Sat Jun 25 23:31:45 GMT 2005

Mark Bucciarelli wrote:

>On Wed, May 18, 2005 at 06:29:42PM +0200, Ruben Bloemgarten wrote:
>>What I find a lot easier is to use freebsd-update for the base system
>>updates and, after having mount_nullfs'd /usr/ports from the host system
>>onto the jailed systems, portsnap and portupgrade. 
>>-> host system : freebsd-update/portsnap/portupgrade
>>   Jailed system : freebsd-update/portupgrade
>Thanks Ruben.
>I have a couple follow-up questions.
>(1) When do you run cvsup?
>    I don't understand the relationship between cvsup and portupgrade.  As I
>    understand things, portupgrade fetches the latest tarball of the given
>    port.   If this is indeed the case, why does the portupgrade man page have
>    a tip that says be sure to run portsdb -Uu everytime you cvsup?   This tip
>    suggests that you should run cvsup as part of the portupgrade routine.
cvsup is a tool for maintaining a set of checked out files in sync with 
a remote CVS repository without having to use CVS directly.  In the case 
of the ports tree, those files are things like the Makefile, package 
descriptions and patches.  These describe what tarball is needed to 
install a port, how to patch and make it for FreeBSD, and just as 
importantly how to uninstall it.  The tarball is the source code for the 
package, and is not handled by cvsup at all.  If you never install a 
port then the tarball for it never lives on your system.

portupgrade is a tool for automating the installing or upgrading of a 
port, including keeping track of your preferred options 
(/etc/pkgtools.conf) and handling dependencies between ports.

portsdb is a tool for updating /usr/ports/INDEX{-5} and 
/usr/ports/INDEX.db (the latter being created from the former).  The 
index is used when you do e.g. a "make search" in /usr/ports.  See man 
ports for the details.

If you want the index to be up-to-date after you have run cvsup, then 
you also need to run portsdb -Uu to rebuild it based on the new updates 
you downloaded with cvsup.  There is no requirement to update ports with 
portupgrade after you have run cvsup, and portupgrade does not even 
always need the index to be up-to-date.  However, if you specify a 
"portorigin glob" e.g. archivers/p5-*, this is apparently looked up in 
the index so it helps if it is up-to-date.

Many people run a cron job to do a cvsup regularly, and at the end of 
that job run portsdb-Uu just so everything is tidy and up-to-date.  The 
when you come to do a portupgrade you know that everything is in sync.

cvsup is also used to keep the system source (/usr/arc) up-to-date, but 
that has nothing to do with portupgrade or portsdb.

>(2) What value do you use for the base parameter in your cvsup file?
Wherever you want cvsup to keep its bookkeeping files.  I don't specify 
anything so use the default /usr/local/etc/cvsup (the files going into 
the sub-directory "sup")

>    Should these bookkeeping files be shared between the jail and the
>    mothership?
No clue, sorry.


More information about the freebsd-questions mailing list