Freebsd – How to tell if a freebsd jail is up to date

bsdfreebsdjail

I've set up a "Service Jail" in FreeBSD 8.0 according to the FreeBSD Handbook (http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/jails-application.html). After upgrading the host to the latest patch level and then performed a jail-upgrade, freebsd-fetch still reports that there are files in need of an update in the jail. Is this expected? Then how do I know if a jail is up to date?

This is what I've done in more detail:

After the initial setup of the jail freebsd-update fetch reported that there were no updates available neither in the host system nor in the jail. This was expected. A while later freebsd-update fetch reported that the following files where in need of an update both in the host and in the jail.

  • /usr/lib/libssl.a
  • /usr/lib/libssl_p.a
  • /usr/lib/libzpool.a
  • /usr/lib32/libssl.a
  • /usr/lib32/libssl_p.a
  • /usr/lib32/libzpool.a

I updated the host and followed the upgrade guide for the jail (http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/jails-application.html#JAILS-SERVICE-JAILS-UPGRADING). freebsd-update fetch now reports that there are no updates available in the host but the following is the output from freebsd-update fetch in the jail:

[root@bb /]# freebsd-update fetch
Looking up update.FreeBSD.org mirrors... 3 mirrors found.
Fetching metadata signature for 8.0-RELEASE from update5.FreeBSD.org... done.
Fetching metadata index... done.
Inspecting system... done.
Preparing to download files... done.

The following files are affected by updates, but no changes have
been downloaded because the files have been modified locally:
/var/db/mergemaster.mtree

The following files will be updated as part of updating to 8.0-RELEASE-p2:
/usr/lib/libssl.a
/usr/lib/libssl_p.a
/usr/lib/libzpool.a
/usr/lib32/libssl.a
/usr/lib32/libssl_p.a
/usr/lib32/libzpool.a

Shouldn't freebsd-update know that the jail is up to date or have I failed upgrading it? How am I supposed to know if a jail is up to date if freebsd-update can't tell?

I'm sure I ran make cleandir twice before make buildworld.

TIA

Best Answer

That section of the handbook doesn't make any reference to freebsd-update, but my understanding of how freebsd-update works implies that your steps aren't quite correct. In particular, I don't think freebsd-update touches your source directory, so you're building/installing whatever you have in /usr/src (probably -RELEASE source if you didn't run cvsup).

You probably want to run freebsd-update in the jail just like you would on the host & let it do its thing (or cvsup to a fixed source branch & then build/install per the handbook chapter you referenced).


Caveat: I don't actually use freebsd-update. cperciva@ (the author of the tool) listens on the freebsd-questions list though, and he someone on the list should also be able to tell you if my logic above is right or wrong :)