Date: Sat, 2 Aug 2008 16:26:34 +0200 From: "Redd Vinylene" <reddvinylene@gmail.com> To: "Miroslav Lachman" <000.fbsd@quip.cz>, "Mikhail Goriachev" <mikhailg@webanoide.org> Cc: freebsd-jail@freebsd.org Subject: Re: The best way to upgrade my FreeBSD and its jails Message-ID: <f1019d520808020726l69935eaak9716c49b571b0a91@mail.gmail.com> In-Reply-To: <f1019d520808020303s43297b64k1187c9d286302b70@mail.gmail.com> References: <f1019d520808011026n6c25d047y4b04e77022f8817@mail.gmail.com> <489398AD.6000900@webanoide.org> <48940CAB.9040001@quip.cz> <f1019d520808020303s43297b64k1187c9d286302b70@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Slight improvement, set -e replaces all the && \: - # FreeBSD/i386 mother.naoshige.net set -e csup /etc/cvsupfile cd /usr/src make buildworld buildkernel mergemaster -p make installworld installkernel delete-old delete-old-libs mergemaster -i -U JAILS=/usr/local/jails for jail in $JAILS/*; do mergemaster -p -D $JAILS/$jail make installworld delete-old delete-old-libs DESTDIR=$JAILS/$jail mergemaster -i -U -D $JAILS/$jail done chflags -R noschg /usr/obj/* rm -rf /usr/obj/* - Peace! On Sat, Aug 2, 2008 at 12:03 PM, Redd Vinylene <reddvinylene@gmail.com> wrote: > Thanks a lot guys for your great design insight! > > I hope others will find this thread interesting as well. Here's the > final upgrade script I decided to use (my shell is zsh): > > - > > # FreeBSD/i386 mother.naoshige.net > > csup /etc/cvsupfile > > cd /usr/src > > make buildworld buildkernel && \ > > mergemaster -p && \ > > make installworld installkernel delete-old delete-old-libs && \ > > mergemaster -i -U && \ > > JAILS=/usr/local/jails > > cd /usr/src > > for jail in $JAILS/*; do > > mergemaster -p -D $JAILS/$jail && \ > > make installworld delete-old delete-old-libs DESTDIR=$JAILS/$jail && \ > > mergemaster -i -U -D $JAILS/$jail && \ > > done > > chflags -R noschg /usr/obj/* > > rm -rf /usr/obj/* > > - > > Much obliged! > > On Sat, Aug 2, 2008 at 9:28 AM, Miroslav Lachman <000.fbsd@quip.cz> wrote: >> 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?f1019d520808020726l69935eaak9716c49b571b0a91>