EF> I know /etc/init called /bin/sh /etc/rc back in the day, KRE> It still does, normally. Yes, that's what I found when reading init.c.
> Not really. Well, it's /sbin/init now. > "Executing a script" is just a shorthand way of saying "exexute > the interpreter for which this script is designed to use and tell it > to run this script". Yes. /etc/rc is a Bourne Shell script. The interpreter can be /bin/sh, /rescue/sh (I read the code as that /rescue/init uses the latter) or some other Bourne Shell. > [...] but that argv[0] there is just what becomes $0 which /etc/rc > only uses in error/log messages. Right, sorry. Of course it's INIT_BSHELL what's executed. EF> So I guess the manpage should be re-phrased. KRE> I doubt there's a real need for that. I would find it useful to read from the manpage, not the source, what actually happens. > If you give boot the -a switch Well, then I could also just walk by the machine and do everything in single user mode. This is about a backup server (actually two of them) which, for obvious reasons, is located in a different (part of of) the building. I need to phyically go there with a monitor and a keyboard for single user mode. I was trying to avoid that. > If you tell it /rescue/init instead, then that init will use /rescue/sh > as the shell to run the rc script. OK, so my deduction was correct. > ps: updating the fundamental stuff on an active system, however you do > it, is always going to be a very dangerous operation. Yes, sure. Been there, done that (for certain values of "active"). The scheme I use is to create (when, say, updating from -8 to -10) /8 and /10, also (for the classical scheme I use) /{usr,var}/{8,10}, null-mount /usr/10 to /10/usr etc., copy /etc (and a few other files) to /10, unpack the sets there (that being the main reason for the null mounts), run /10/usr/sbin/etcupdate -d /10 (my enhanced version that playbacks an input file), /10/usr/sbin/postinstall -d /10 fix xyz, go single user with /rescue/sh (which is from -8), run a script that, according to a configuration file, moves (or not moves) things from /foo to /8/foo and from /10/foo to /foo (which takes a only second), and /rescue/reboot. In case anything failes on -10, I go back single user with /rescue/sh, run my script which then moves things from /foo to /10/foo and from /8/foo to /foo and I'm back to the state before. I even use that to switch development servers to a different version and back to test things on other versions. /rescue always stays at the lowest version installed.