Subject: Re: take 2; which way should we go for /etc/rc...
To: None <>
From: Todd Vierling <>
List: tech-userlevel
Date: 12/03/1999 20:30:57
On Sat, 4 Dec 1999, Hubert Feyrer wrote:

: Turn this table around, i.e.
: 	runlevel1: 	singleuser runlevel2
: 	runlevel2:	runlevel3
: 	runlevel3:	multiuser
: 	mount_local:	runlevel1
: 	networking:	runlevel2
: 	mount_nfs:	runlevel2
: 	inetd:		runlevel3
: 	httpd:		runlevel3
: 	sshd:		runlevel3
: indicating which service to run when switching to a certain runlevel, and
: you have a SysV inittab.

There's a reason I proposed it the other way round.  The inittab-like format
assumes that you're using runlevels to organize the system.  I assume
nothing about what the admin wants to use for organization except the
BSD-classic existence of "singleuser" and "multiuser".  A runlevel could be
defined in terms of one of these and additional components, i.e.

singleuser: runlevelS
runlevel1: singleuser
runlevel2: runlevel1
runlevel3: runlevel2
multiuser: runlevel3
runlevel4: multiuser

would define a list of dependencies that would execute in SYSV style.
In fact, you could even add things such as "run_rc3_d", as a stub script
which iterates through /etc/rc3.d in SYSV's own style.

Rather than defining "execution timing", the config file would be
dependency-driven, integrating well with REQUIRES lines embedded in the

-- Todd Vierling (