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 howfreebsd-update
works implies that your steps aren't quite correct. In particular, I don't thinkfreebsd-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 :)