freebsd-update for jails built after "Updating Multiple Jails"

Benjamin Kaduk bjk at FreeBSD.org
Sat Oct 17 04:26:55 UTC 2015


On Fri, 16 Oct 2015, User Phryk wrote:

> PS: I found this mail address below the documentation, not sure if its
> an ML i need to join - if so please don't hesitate to tell me to join
> so this question can be answered publicly.

I think https://lists.freebsd.org/mailman/listinfo/freebsd-questions is a
somewhat better place to ask this quesion; the freebsd-doc list is for
making updates to the documentation.  But, I think I have an answer for
you here anyway.

>
> I set up my jails like described in [1].
>
> My setup differs a tiny bit in directory naming, and the fact
> that I've foregone creating skel/etc/make.conf because I'm
> using a central poudriere installation for all my port-building
> needs. I am assuming this doesn't change anything for updating
> the basesystem, but please do correct me if I'm wrong.
>
> I can update the packages just fine using "pkg upgrade -j<n>",
> but I'm kind of at a loss on what the equivalent of doing the
> "freebsd-update fetch/install" and "freebsd-update upgrade -r"
> procedures is for these kinds of jails.
>
> I've already searched through the docs and asked in freenode/#freebsd a
> number of times, but sadly nobody seemed to be able to answer my question…
>
> I'm strongly suspecting that "freebsd-update" is not the way to go and
> that I have to have my machine compile the basesystem itself.

Indeed, freebsd-update works based on binary diffs, so you need to have
started from an official release install medium in order to use it.
(Well, or go through a lot of effort to set up your own freebsd-update
build environment, which seems overkill here.)

> Is this the case? And if so, do I just need to follow[2] and then
> do "make installworld DESTDIR=/my/jailroot"?

Basically, yes.  DESTDIR need not be set for buildworld, and does need to
be set for installworld.  I normally end up re-running 'make distribution
DESTDIR=/my/jailroot' instead of dealing with mergemaster, since my jails
to not really get customizations to things in /etc, but mergemaster should
work as well.  You'll need to pass the -D argument to mergemaster, and
possibly -m as well if the source tree in question is not in /usr/src/.
Be sure to set DESTDIR for delete-old and delete-old-libs!

-Ben

> [1] https://www.freebsd.org/doc/handbook/jails-application.html
> [2] https://www.freebsd.org/doc/handbook/makeworld.html


More information about the freebsd-doc mailing list