Date: Thu, 15 Oct 2009 15:09:06 -0400 From: Martin Turgeon <freebsd@optiksecurite.com> To: =?ISO-8859-1?Q?Eirik_=D8verby?= <ltning@anduin.net> Cc: freebsd-jail@freebsd.org Subject: Re: Can't upgrade jails to 8.0 using freebsd-update Message-ID: <4AD77352.5080908@optiksecurite.com> In-Reply-To: <C226FF8F-7A65-4DC6-B464-2F789EA20453@anduin.net> References: <4ACE2829.6030804@optiksecurite.com> <295A1256-A620-4DD1-8B7F-22BDB216D164@anduin.net> <4ACE37D6.9040908@optiksecurite.com> <F389E50E-1C7B-49D1-BB0F-402C1D49FBFC@anduin.net> <4AD75F8B.10906@optiksecurite.com> <DDF109BF-9330-4EF3-9E33-6D5D82DE3881@anduin.net> <4AD77075.3010907@optiksecurite.com> <C226FF8F-7A65-4DC6-B464-2F789EA20453@anduin.net>
next in thread | previous in thread | raw e-mail | index | archive | help
Eirik Øverby a écrit : > > On 15. okt. 2009, at 20.56, Martin Turgeon wrote: > >> Eirik Øverby a écrit : >>> >>> On 15. okt. 2009, at 19.44, Martin Turgeon wrote: >>> >>>> Eirik Øverby a écrit : >>>>> >>>>> On 8. okt. 2009, at 21.04, Martin Turgeon wrote: >>>>> >>>>>> Eirik Øverby a écrit : >>>>>>> On 8. okt. 2009, at 19.58, Martin Turgeon wrote: >>>>>>> >>>>>>>> Hi everyone! >>>>>>>> >>>>>>>> I just upgraded a 7.2-REL to 8.0RC1 using freebsd-update. The >>>>>>>> upgrade >>>>>>>> went fine on the base system following the procedure written in >>>>>>>> the >>>>>>>> announcement email by Ken Smith. My problem is when I try to >>>>>>>> upgrade my >>>>>>>> jails, I get this message: >>>>>>>> >>>>>>>> # freebsd-update -b /usr/jail/mysql/ fetch install >>>>>>>> Looking up update.FreeBSD.org mirrors... 3 mirrors found. >>>>>>>> Fetching metadata signature for 8.0-RC1 from >>>>>>>> update5.FreeBSD.org... done. >>>>>>>> Fetching metadata index... done. >>>>>>>> Inspecting system... done. >>>>>>>> Preparing to download files... done. >>>>>>>> >>>>>>>> No updates needed to update system to 8.0-RC1-p0. >>>>>>>> No updates are available to install. >>>>>>>> Run '/usr/sbin/freebsd-update fetch' first. >>>>>>>> >>>>>>>> But, if I compare the dates of the files in the base system to >>>>>>>> the files >>>>>>>> in the jails, it's obvious that the jails are not up to date. >>>>>>>> >>>>>>>> It seems like freebsd-update doesn't care about the basedir I >>>>>>>> specified. >>>>>>> >>>>>>> It does, but if you do a 'uname -a' - inside or outside the jail >>>>>>> - you'll see that it reports the OS revision of the host. So you >>>>>>> should have updated your jails first, then the host ... >>>>>>> >>>>>> Ok but if I update in the process of upgrading the first jail, >>>>>> the new kernel will be installed and asked to reboot. After that, >>>>>> I will have the same problem when upgrading the other jails and >>>>>> the base system, right? There must be something I don't >>>>>> understand well. Thanks a lot for your answer. >>>>> >>>>> The kernel will be installed inside the jail, and the message >>>>> about rebooting can be safely ignored. Just run the install >>>>> command once more, and you're done and can move on to the next >>>>> jail. :) >>>>> >>>>> /Eirik >>>>> >>>>> >>>>>> Martin >>>>>>> One way to get around it is to replace /usr/bin/uname with a >>>>>>> shell script, which calls the original uname (which you have >>>>>>> renamed) and pipes through something like sed to replace the >>>>>>> revision with what you used to have: >>>>>>> >>>>>>> #!/bin/sh >>>>>>> /usr/bin/uname.org $* | sed s/"8.0-RC1-p0"/"7.2-RELEASE_p3"/g >>>>>>> >>>>>>> And this is a seriously butt ugly hack. >>>>>>> >>>>>>> /Eirik >>>>>>> >>>>>>>> Thanks a lot for your help, >>>>>>>> >>>>>>>> Martin >>>>>>>> >>>>>>>> >>>> Thanks a lot! It worked great, but I'm still concerned by the fact >>>> that the world in the jails are from 8.0 while the kernel is still >>>> at 7.2 during the updates of the jails. In the normal update >>>> procedure, the kernel is upgraded first, rebooted and then the >>>> world is updated. It must have a good reason for this. Why can I >>>> jail be an exception to this rule? >>> >>> Because when you upgrade the host, the very binaries you are >>> installing are being installed by ... the binaries you are >>> installing. Which is why you'll want them to be reasonably in-sync >>> with the kernel. >>> >>> When upgrading jails using freebsd-update, my understanding is that >>> it uses the host binaries to push files to the target directory >>> (basedir). The risk of trouble is therefore very low (I've upgraded >>> dozens of jails from 7.x to 8.0-RC1 without any issues), though I >>> can probably imagine situations where this is not the case - i.e. if >>> the upgrade depends on functionality in an upgraded binary in order >>> to be able to complete the upgrade, however that sounds like a very >>> unlikely scenario to me. And *any* use of the basedir option to >>> freebsd-update would break in such a case. >>> >>> /Eirik >>> >> Sounds reasonable to me. Thanks for your quick reply. > > Reasonable != true. And for that matter, reasonable != reasonable. > YMMV etc. etc. I haven't peeked (much) into the code, so I'm just > guessing from my experiences. ;) > > People in the know should correct me if I'm wrong.. > > /Eirik I must admit that I was looking for a confirmation... ;) I thought it was a problem a lot of people would have faced... Martin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4AD77352.5080908>