Subject: On the proposal to augment NetBSD startup (/etc/rc*/*/*...) system
To: None <tech-userlevel@netbsd.org>
From: Lou Glassy <glassy@caesar.cs.montana.edu>
List: tech-userlevel
Date: 12/04/1999 01:28:28
Dear all,
A small bucket of thoughts & observations:
[1] I think this is an interesting and useful discussion
to have (runlevels, init scripts, etc).
[2] It doesn't look to me like there is anything close to
a consensus on this question or issue, at least not if
we're talking about fundamentally changing the BSDish
startup behavior NetBSD now exhibits, in a stock default
installed system. Nor do I expect a consensus to form
that makes anything hugely unlike rc[.conf|.local] the
default.
[3] Some people like SysV-ish init scripts because [insert reasons here].
Some people like BSDish rc[.local|.conf] startup because
[insert reasons here]. (see [2] above.)
[4] Random idea: How about if proponents of SysV-ish startup script
structures just build this as a package, put it in the package
tree? That is, does any of this alternative startup stuff have
to go in the primary distribution? If someone wants to use a SysV-like
startup system, she installs the SysV-ish startup
package (or one of several, whichever flavor of init system best
suits her needs) and is a happy camper. But...
please leave the existing rc+conf stuff alone.
[5] Random idea: (my i'm on a roll.) I use SysV-ish systems and
NetBSD at work, every day. The start/stop thing in
/etc/init.d/foo start [etc] is nice, but the simplicity of
the BSDish rc.conf setup that NetBSD is even nicer. I am
starting to run out of brain cells, and NetBSD's simpler
structure makes the vast majority of what I want to do, consume
less of those precious brain cells, because I have to maintain
less brain-state about where to look to see what's going on.
But, like I said, start+stop is nice. How about making a script,
or program, or package, that has some wondrous kickstarter in it,
that would let me just start and stop things...? This would exist
completely independent of the existing rc+conf arrangement; I'm
not wedded to any particular name for this thingie; say ya call
it 'service' ... I'm thinking of something like
service hup inetd
to send a sighup to inetd, or
service stop mountd ; service start mountd
to do a stop-start of mountd. You get the idea. The syntax
isn't that critical to me. Picture other options,
like "restart", "startlogging", whatever bakes your cookie.
It's just a script or program; maybe it reads rc.conf to
see what the sensible options are for the daemon you want to
play with, but in any case we leave the existing rc + conf alone,
and instead just add an optional "sysadmin convenience program" as an
external add-on, but not an essential thing used in system booting.
If NetBSD's startup system evolves towards an init-script/runlevel
setup, well, that just means I will have to hack my own installs
of NetBSD backwards to the current state, which I am actually very content
with... To Luke & Matthew et al, thanks for the ideas.
If I get grumpy enough with the lack of an "official"
starter-stopper (per [5] above) I may just have to get
off my duff and write it. :-)
-lou
--
Api the Baboon: Ha ha! I just got some new software!
Monkey 347: Oh? What is it?
Api the Baboon: MS Take 1.0 - it finds users who want to PAY to be our
beta-testers! Isn't that Great!?
Monkey 347: "'MS Take' ... well, at least the name's honest.
-- from "The Adventures of Code Monkey #347"