How can I ensure a service is disabled on boot? [duplicate]
For some reason I need to disable a system service on boot. In my case this is the Avahi Daemon. I just don't want it to start on boot.
In previous Ubuntu releases (e.g. 12.04) I could do
sudo update-rc.d avahi-daemon disable
However on 14.04 it shows
update-rc.d: warning: start runlevel arguments (none) do not match avahi-daemon Default-Start values (2 3 4 5)
update-rc.d: warning: stop runlevel arguments (none) do not match avahi-daemon Default-Stop values (0 1 6)
System start/stop links for /etc/init.d/avahi-daemon do not exist.
And Avahi is started on boot. How can I disable this? I'm looking for a command line way of doing this.
And please care to explain what happened here? Some change in a recent Ubuntu release broke the use of update-rc.d
? I suspect I'm missing something here.
Solution 1:
Ubuntu uses Upstart instead of SysV Init to start services on boot. Thus some services don't have an SysV Init script but an Upstart job description file in /etc/init/
(not /etc/init.d/
). For those update-rc.d
doesn't work.
Use
echo manual | sudo tee /etc/init/avahi-daemon.override
to disable avahi-daemon
starting at boot. Replace avahi-daemon
with whatever service you like to stop.
See Upstart Intro, Cookbook and Best Practises for more about how to work with Upstart.