Re: PROPOSAL: standard run levels (draft 1)
I'm wondering why the LSB should concern itself with numerical runlevels
Here's a include from Brice Perens in the original LSB list discussions:
This has already come up in informal discussion. Run-levels, and the
ordering numbers that scripts like "/etc/rc2.d/S20sendmail" get,
should be handled _symbolicaly_. For example run-levels should have
symbolic names like "single-user", "multi-user-without-networking" and
"multi-user-with-networking", and init script ordering numbers would
have names like "after-local-mounts", "after-network-interfaces-and-routes",
and so on. The standard's version of the command that Debian calls
"install-rc.d" would take care of mapping those to numbers.
The alternative to this would be to standardize those numbers across
all Linux distributions. The problem with this is that when a system
is first upgraded to the standard, it would have to re-name all of its
rc.d links to what the standard defines. If this doesn't run perfectly,
your system is hosed.
This stuff _always_ should have been symbolic, anyway. The numbers are
far from intuitive.
We should be concerned only with defining the semantics, not the numbers
of runlevels. As a result, LSB compatible programs ought to be able to
query using these semantics. For example, my makefile ought to be able
to say, install into single-user-without-networking
or single-user-with-networking runlevels, and the "system" should be able to
take care of that.
So for example , in RPM, instead of putting links into rc1.d directory there
ought to be a install-into-level(service) provided by the installer--red hat
will map this to linking into rc3.d, and the appropriate chkconfig nos in the
init.d file, but some other distribution may update a rc.S file with this.