Date: Wed, 12 Dec 2001 11:56:25 -0600 From: "Mike Meyer" <mwm-dated-1008611785.d95a0f@mired.org> To: Filipe Brandenburger <filipe@procergs.rs.gov.br> Cc: questions@freebsd.org Subject: Re: Doing "batch" updates in single-user mode Message-ID: <15383.39497.553042.67029@guru.mired.org> In-Reply-To: <70168449@toto.iv>
next in thread | previous in thread | raw e-mail | index | archive | help
Filipe Brandenburger <filipe@procergs.rs.gov.br> types: > I would like to know if there's somehow a way to do this without the need > to be on the console of the host. For example, I would like to know if > there's a way to write a script and tell FreeBSD to go into single-user > mode, execute the script, and get back to multi-user mode, without the need > to be on the console. You can't have a script that goes into single user mode and then does things. Going to single user mode stops all processes except init, which then gives you a shell on the console. > I have two reasons for that. One is that I have to manage many (30+) hosts > with FreeBSD, and I would like to update all (or most) of them at the same > time. Other reason is that I would like to be able to schedule this kind of > update to 3:00AM or something like that, so that fewer people will be > affected by the downtime of the host, and I would like to do this update > without the need to be at the business to have to type the commands. Ok, I > know this would probably be too dangerous to do without watching, but hey, > if I test it before on a testing machine, I don't see much trouble in doing > this... Ok, the safest sequence is: make buildworld make buildkernel make installkernel reboot to single user mode make installworld mergemaster reboot The first two steps are safe in multiuser mode, and will cause no problems. Installing a kernel may cause problems, but generally won't. If you're really brave, you can install the world and run mergemaster and usually be safe. The key word is *usually*. Then reboot, and if it comes back up, you're good. If not, you have to go to the console. If you've tested everything beforehand - always a good practice on a production machine - then you're right, you should be safe. But be prepared to go in anyway :-). At one point I hacked init to look for and run /etc/rc.single if it existed. You could do the same, and then have /etc/rc.single do the installworld and bring up enough network for you to log in from a second machine to run mergemaster and reboot it yourself. <mike -- Mike Meyer <mwm@mired.org> http://www.mired.org/home/mwm/ Independent WWW/Perforce/FreeBSD/Unix consultant, email for more information. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?15383.39497.553042.67029>