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

Re: Please remove rcconf



On Sun, 2004-03-07 at 22:55, Michael Stone wrote: 
> On Sun, Mar 07, 2004 at 10:14:11PM +0100, Thomas Hood wrote:
> >Argh!  You're not supposed to delete _any_ links [...]
> >If there is neither an S nor a K symlink for a service in a
> >runlevel it [...] is a misconfiguration.
> 
> no, it's a no-op.

The configuration is not interpreted to mean "no-op".  As I said
before,

> if you ask invoke-rc.d to start a service on entering 
> such a runlevel then it will start it.


Perhaps you mean that the absence of a symlink _should_ be
interpreted to mean "no-op", but that is not how the System V init
system works in Debian today.  Incomplete symlink farms were not
contemplated when the various tools were written; as a consequence,
incomplete symlink farms result in weird behavior.


> >If there is neither an S nor a K symlink for a service in a
> >runlevel then the init system does not know what it is supposed
> >to do to the service on entering that runlevel.
> 
> It's supposed to do nothing. (And does.)

Where do you read that it is "supposed to" do nothing?  All the
documentation I have ever read leaves the behavior of the init
system unspecified for the case of missing symlinks.

The system does not always do nothing in the absence of an rc
symlink.  If a services's symlink is missing for a certain
runlevel and something "invoke-rc.d start"s the service in that
runlevel then the service will be started.  Suppose, for example,
that you have deleted the symlink for service foo in runlevel 
2 and you are running in runlevel 2.  Foo is not running.  You
upgrade the foo package and service foo will be started.  That
is improper behavior resulting from misconfiguration (or, if
you prefer, from our not having enhanced the init system so that
it interprets an absent symlink consistently as "do nothing").

Deleting symlinks doesn't disable services.  It just removes
information about whether or not the service should be running
in that runlevel, with the result that the service is sometimes
started and sometimes not.

Until the init system is enhanced, tools should not configure
Debian systems in ways that the init system has not been designed
to handle properly.

There is evidently a lot of confusion surrounding this issue.
Something should be added to the Debian Reference about it.
--
Thomas Hood <jdthood@yahoo.co.uk>



Reply to: