Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 02 Aug 2008 09:28:43 +0200
From:      Miroslav Lachman <000.fbsd@quip.cz>
To:        freebsd-jail@freebsd.org
Subject:   Re: The best way to upgrade my FreeBSD and its jails
Message-ID:  <48940CAB.9040001@quip.cz>
In-Reply-To: <489398AD.6000900@webanoide.org>
References:  <f1019d520808011026n6c25d047y4b04e77022f8817@mail.gmail.com> <489398AD.6000900@webanoide.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Mikhail Goriachev wrote:
> Redd Vinylene wrote:
> 
>> My dedicated server is mother, its two jails are camel and box. Is
>> this the best way to upgrade all of them?
> 
> 
> We probably should keep this to freebsd-jail@ only.
> 
> Had a look at http://pastie.org/245821 and have a few notes for you:
> 
> 1.- As Miroslav already mentioned - it is not a good idea to daisy chain 
> everything. You should break the procedure into two steps. Firstly 
> upgrade the host and make sure the upgrade went well. Once you're 
> certain that everything is ok, then proceed upgrading jails.
> 
> I personally disable jails (jail_enable="NO"), then reboot (to avoid any 
> zombie jails), perform upgrade on all jails and then enable them back on.
> 
> 2.- Your upgrading sequence is a bit off. Have a look at 
> /usr/src/Makefile for further details and correct sequence:
> 
> # make buildworld
> # make buildkernel
> # make installkernel
> # reboot
> # mergemaster -p
> # make installworld
> # make delete-old
> # mergemaster
> # reboot
> # make delete-old-libs
> 
> 3.- You don't need kernels inside your jails. Having them won't hurt 
> you, but they consume space. In other words, you shouldn't execute the 
> following (or similar):
> 
> # make DESTDIR=$D installkernel
> 
> 4.- The "make distribution DESTDIR=$D" should be executed only once - 
> when a jail is created. Otherwise you're nuking your configurations in 
> jail's /etc and probably somewhere else.

One thing to note - If you do delete-old delete-old-libs you probably 
need to recompile all installed ports because of lib dependencies.

> Have a go at this, you might find some use for it:
> 
> -----------------------
> JAILSDIR=/usr/local/jails
> 
> cd /usr/src
> 
> for jail in `ls ${JAILSDIR}`; do
>         mergemaster -pD ${JAILSDIR}/${jail}
>         make installworld DESTDIR=${JAILSDIR}/${jail}
>         mergemaster -iD ${JAILSDIR}/${jail}
> done
> -----------------------



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?48940CAB.9040001>