Bug#975591: update-rc.d disable

Tom H tomh0665 at gmail.com
Sun Dec 20 14:47:00 GMT 2020

>> The only way supported in update-rc.d to disable a service is
>> update-rc.d disable
> … but not this.
> “update-rc.d disable” does *NOT* disable a service. Instead, it
> sets it to “stopped in all runlevels”, which is evidently *not*
> the same.
> I don’t care if “update-rc.d disable” gets changed or a new API
> gets added, but this has to be fixed.
> There *absolutely* HAS to be some way to disable an init script
> completely *without* insserv automatically re-enabling it on the
> next package upgrade/install.

It depends what's meant by "disable".

If it means "disable <daemon> from starting at boot", then
"update-rc.d <daemon> disable" does what it's meant to do.

If it means "disable <daemon> from starting at all", then "update-rc.d
<daemon> disable" doesn't do what it's meant to do.

Given that "update-rc.d <daemon> disable" changes all of the rc?.d
links to "K*", it means the former.

There could be a new verb, "mask", whereby "update-rc.d <daemon> mask"
would prefix the rc?.d scripts with an "M" and

# update-rc.d <daemon> disable
# service <daemon> start
# telinit 3

would ignore "/etc/rc3.d/M??daemon" and wouldn't stop "<daemon>".

It feels like a lot of work for an unusual corner case.

More information about the Debian-init-diversity mailing list