On Sun, 01 May 2011 11:07:25 -0400
Nick Holland <n...@holland-consulting.net> wrote:

> On 05/01/11 07:13, David Steiner wrote:
> > On Sat, 30 Apr 2011 11:24:30 -0400
> > Nick Holland <n...@holland-consulting.net> wrote:
> > 
> >> 
> >> um...
> >> bsd.rd assumes console.
> >>
> > 
> > which i don't have and am looking for a workaround. maybe bsd.rd
> > should assume: accepts commands from a file/stdin to be automated?
> > or even better: similar to yaifo allow ssh connections to finish the
> > upgrade/install? i know the mantra: patches are welcome ;)
> >
> > 
> >> If you want to do a remote upgrade, how about using the (shudder)
> >> *suggested* process in the upgradeXX.html docs? 
> > 
> > i've been doing that for awhile. i'm not convinced of this method:
> > replacing the kernel and base packages, while the system is running,
> > sounds dangerous. 
> 
> compared with...getting everything /exactly/ right in a redirection
> file??
> 
> "sounds dangerous".  Perhaps you would like to explain what magic bit
> of knowledge you have that the rest of us lack?

it says so in the FAQ: http://openbsd.org/faq/upgrade49.html

"Upgrading without install kernel
This is NOT the recommended process. Use the install kernel method if
at all possible!"

couple sentences later:

"Stop any appropriate applications: During this process, all the
userland applications will be replaced but may not be runnable, and
strange things may happen as a result."

so it's not recommended and strange things may happen if you're not
careful. 

> upgradeXX.html is on its 14th version now.  It is how I upgrade almost
> all my machines (I save a token few for bsd.rd to make sure it works),
> it's basically how everyone with a remote system without a console
> upgrades their systems.  It works, both in practice and in theory.
> You are trying to solve a NON-PROBLEM.

well i'm glad it's been working for you. i'm not against this method in
any way, just being cautious in upgrading remote boxes. therefore i
prefer the bsd.rd method and am looking for a way to do this without
console. until there's a proper "solution", i'll keep on using the
TRIED-AND-TESTED OpenBSD method (tm). 

> 
> > YMMV. sofar it went ok with the upgradeXX.html process. i'll try it
> > with yaifo sometime.
> 
> Ah, there's a good plan.
> Replace a process developed, tested and monitored by the OpenBSD
> people with a roll-your-own.  Yep, because you know SO much better
> than we do. Uh-huh.
> 
> 
> Were I to guess, you are probably basing your "sounds dangerous" on a
> flawed idea of how things work based on some other operating system.

wrong, see above what it's based on. your own FAQ. 

> OpenBSD uses a monolithic kernel -- all the parts to the kernel are in
> the kernel file, which is loaded into RAM at boot.  You may now safely
> delete the kernel if you so desire once the system is booted, it isn't
> used until the next boot.  You may also REPLACE the kernel, it has NO
> impact on the running system until reboot.
> 
> As for the other binaries, sure, some are loaded and unloaded on the
> fly on a running system, but nothing on the base system will suffer
> problems by being killed this way.  As for other things, that's why
> we advise you shut 'em down first.  I like apps with a robustness to
> them, so I just like letting them whimper and die.
> 
> So, that basically leaves the extraction process and reboot.  "reboot"
> is a statically linked binary.  We copy that to "oreboot" to make sure
> the old one is still available, but I've tested a lot of platforms
> over the last few releases and have been unable to find a combination
> where an old kernel can't run the new reboot successfully, but we
> don't promise this, so we save "reboot" as "oreboot".
> 
> Extraction via tar and gunzip are the "problems".  They are both in
> baseXX.tgz, this is why that's the last package to unpack.  But, they
> are loaded into RAM (along with any libraries) at the start of the
> process, and no need to "reload" them exists unless a new tar or
> gunzip process is started.
> 
> After you have unpacked the userland, your system is pretty well
> hosed, about all that is running is your old kernel from RAM and your
> shell, not much else to do other than reboot it, which (fortunately)
> is just an interaction between the kernel in memory and the reboot
> program (which you saved an old copy of).
> 
> The older process of "replace kernel, reboot, replace userland,
> reboot" is a bit more ascetically pleasing, but kept caused problems
> due to things like pppoe and PF, and thus, the "replace everything
> and reboot" process was implemented, and seems to be overall, a
> better option.

i appreciate your detailed explanation. thank you, it gives me a better
idea of what's going on in the upgrade process and how to manage it.
binary upgrades have worked without any hiccups on my file server.

> And don't get me wrong....  yaifo does solve some problems for people,
> but remote upgrades are not a problem that needs solving this way, and
> there's a lot more that can go wrong that way than the suggested way.

point taken. 

David

Reply via email to