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

Re: NCID with no rcS.d



Dmitriy Matrosov wrote:

> 2011/11/24 lrhorer <lrhorer@satx.rr.com>:
>> OK, so here's the deal.  I compiled and installed ncid on one of my
>> Debian servers  Everything seems to be working just fine.  There's
>> one small item, though.  When I took the init scripts and ran
>> update-rc.d, it gave me a warning saying "stop runlevel arguments (0
>> 1 6) do not match LSB Default-Stop values (S 0 1 6)".  When I looked
>> at the scripts, they have the line
>>
>> # Default-Stop:      S 0 1 6
>>
>> in the LSB. Now as I understand it, by the script definition, there
>> should be links in /etc/rcS.d to the scripts in /etc/init.d with
>> names like K20ncidd.init, and so forth.  Per the output of
>> update-rc.d, however, these links were not created, but all the
>> others were.
>>
>> First of all, why did the routine put up that warning and fail to
>> create the links?
> 
> As i understand, update-rc.d does not create any links - it just
> manages them (disables (rename SXX to KXX), enables (rename KXX to
> SXX), etc).

No, that's not true, at all.  See my response to Arno above.  If one 
supplies the enable or disable argument, then indeed update-rc.d does 
not create links, but the other commands do create or delete links:

RAID-Server:/etc/init.d# update-rc.d
usage: update-rc.d [-n] [-f] <basename> remove
       update-rc.d [-n] <basename> defaults [NN | SS KK]
       update-rc.d [-n] <basename> start|stop NN runlvl [runlvl] [...] .
       update-rc.d [-n] <basename> disable|enable [S|2|3|4|5]
                -n: not really
                -f: force

>From the man page:

NAME
       update-rc.d - install and remove System-V style init script links
....

When run with either the defaults, start, or stop options, update-rc.d 
makes links /etc/rcrunlevel.d/[SK]NNname that point to the script 
/etc/init.d/name.

> This is insserv duty to install init script links. Try
> reinstall init script with insserv: frist - remove, and then install
> again.
> # insserv  -r  <init_script_name>
> # inssert <init_script_name>

It would be a lot easier just to create the link by hand.  As Arno 
pointed out, however, there's really very little or no operational 
impact to the kill script for runlevel S being missing.

Reading through the man page again, I can across this, however:

If defaults is used then update-rc.d will make links to start the 
service in runlevels 2345 and to stop the service in runlevels 016.

So that's why it didn't create the runlevel S script.  This behavior is 
the legacy behavior, mandated by the existence of a file named .legacy-
bootordering.  Sure enough, the file is there.


Reply to: