Subject: Re: Summary of /etc/rc*
To: L. Todd Masco <firstname.lastname@example.org>
From: Charles Ewen MacMillan <ilixi@Tezcat.Com>
Date: 09/12/1994 19:29:59
On Mon, 12 Sep 1994, L. Todd Masco wrote:
> Date: Mon, 12 Sep 1994 18:07:38 -0400
> From: L. Todd Masco <email@example.com>
> To: amiga@NetBSD.ORG
> Subject: Summary of /etc/rc*
> I've gotten mail from some folks who aren't familiar with the SVR4
> run levels, and asked me to summarize what I'm working on doing.
> The idea is that instead of having one mammoth script run when you
> go from single-user to multiple user, you have a set of scripts that
> correspond to each run level. For example, for run level 3, there
> are scripts in /etc/rc.3 that start and stop each service. Usually,
> there's one script for service, so that starting an NFS server would
> be something like running:
> /etc/rc.3/S10nfs.daemon start
> And stopping it would be:
> /etc/rc.3/K10nfs.daemon stop
Although the stop argument feature might be useful for a few daemons
(I cannot see nfs being one of them however, as the drives must be umounted
from the clients), I fail to see why the current state of affairs should
require _one_mammoth_script_ when individual scripts can be intr'd from
rc.local as is.
> - If you want to bring a machine up as a client but not a server
> (useful in working on some network problems), all you need to
> do is specify the appropriate run-level. Otherwise, you'd
> either boot a machine standalone and start everything but the
> server functions by hand, or you'll boot to multiuser and kill
> each deamon by hand. Not fun.
Or, alternately, you can leave a single flag and "if" statement at the
beginning of /etc/rc.local to boot whatever daemons you please, without
any changes to the current implementation.
> The next step is to change how inittab works, specifically adding the
> idea of a run-level to anything started from the run-level. This'll
> require changing init to have the concept of the run-level, which should
> add about couple hundred bytes of code & storage.
> And that should be it!
> Comments from folks? I fail to see what the objection is.
The way my systems are setup, is that rc.local launches some daemons
which always run (i.e. fakerwhod) and shells out to other scripts to
launch subsystems which require a more complex startup (i.e. bind, news).
Most other daemons are launched directly from inetd. Even on my main
server system (a Sun) there are only 17 daemons (counting portmap and
keyserv as daemons) as I count it launched from either /etc/rc or
/etc/rc.local. Of those 17, 10 of them _must_ running when the system
is using any kind of networking, 3 are run from their own seperate scripts
and 1 I could do away with.
This says to me, that I could place on my most complex machine, 3
launched processes in an intermediate script between single user mode
and multi-user startup.
On the BSD machines, there is less to run than on a Sun, so it seems
to me there would be even less use for the setup you are describing, and
in my opinion, not nearly enough usage to warrant the changes to
init, changes to existing startup scripts, and more importantly drift
from the rest of m68k.
Charles Ewen MacMillan | Tezcat.COM - Wicker Park
<firstname.lastname@example.org> | Offering Internet Access
Modem: 312-850-0112/0117| Via Interactive UNIX to
Voice: 312-850-0181 | the Chicago Area.
WWW: http://tezcat.com/ | Mail: email@example.com