[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: PROPOSAL: standard run levels (draft 1)

I'm wondering why the LSB should concern itself with numerical runlevels
at all.

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.


Reply to: