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

Re: Disable a service

Both top- and bottom-posting. with apologies.

Correction to the insserv mini-howto that I'd posted earlier.


I emailed the insserv maintainer because, even though it works, I felt
that it might not be a proper/acceptable way.

He replied:

"It is not the recommended method. The correct and recommended way to
do this is to rename S* symlinks to K* symlinks and then run
update-rc.d (for example using 'service-name defaults' as the

On Sun, Apr 10, 2011 at 1:36 PM, Joel Roth <joelz@pobox.com> wrote:
> On Sun, Apr 10, 2011 at 05:51:12AM -0400, Tom H wrote:

>> Someone was advocating the use
>> of chmod to disable an init script earlier in this thread.
> That was me, ignorant sod that I am. And I was starting to
> feel vindicated, after reading DDs say Debian lacks a
> sanctioned method for administrators to enable/services.

That's a bit harsh (on yourself)!

It's interesting/weird that there isn't a canonical way - other than
breaking some rule(s) by using update-rc.d or insserv. :)

>> I consider
>> that bad on a single-user box but *very* bad on a
>> multi-user/multi-sysadmin box.
> Why is that *very* bad (or even bad)? Please enlighten me!

In a company, using non-standard procedures makes the job of an
incoming sysadmin and of his/her new colleagues more difficult than it
should be.

>> I'm not familiar with other distributions so I don't know whether this
>> is a Linux-wide phenomenon but RHEL/Fedora have a similar setup, with
>> "/etc/sysconfig/" rather than with "/etc/default/". If you have
>> "ONBOOT=no" set in "/etc/sysconfig/network-scripts/ifcfg-eth0",
>> eth0'll not come up at boot (clearly) or when you run "service network
>> start".
>> <rant>The syntax of update-rc.d is a horrible and you cannot override
>> the LSB headers with "update-rc.d servive-name start NN runlevel
>> [runlevel]... . stop MM runlevel [runlevel]... ." with insserv's
>> dependency-based boot sequencing.
>> I would've hoped that the insserv command's syntax would be simple,
>> like the chkconfig one, but it's just as horrible ("insserv
>> servive-name,start=runlevel[,runlevel,...],stop=runlevel[,runlevel,...]")
>> and, to add insult to injury, it doesn't override the LSB headers
>> either.
>> If Debian transitions to upstart for wheezy or wheezy+1, overriding
>> "/etc/init/service-name.conf" will be done with
>> "/etc/init/service-name.override" (only available in 11.04). It's two
>> steps fewer than my previous insserv mini-howto; progress of
>> sorts...</rant>
> Thanks for describing all this. I'm glad to be getting
> clear on these mechanisms.

You're welcome. I should perhaps add that there's probably a
possibility of Debian moving to systemd rather than upstart and
therefore adopting (and possibly adapting) Red Hat's service and

Reply to: