如何确保在启动时禁用服务?

ger*_*ijk 19 command-line boot services

出于某种原因,我需要在启动时禁用系统服务。就我而言,这是 Avahi Daemon。我只是不希望它在启动时启动。

在以前的 Ubuntu 版本(例如 12.04)中,我可以做到

sudo update-rc.d avahi-daemon disable
Run Code Online (Sandbox Code Playgroud)

但是在 14.04 它显示

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.
Run Code Online (Sandbox Code Playgroud)

Avahi 在启动时启动。我怎样才能禁用它?我正在寻找执行此操作的命令行方式。

请注意解释这里发生了什么?最近 Ubuntu 版本中的一些更改破坏了update-rc.d? 我怀疑我在这里遗漏了一些东西。

Flo*_*sch 23

Ubuntu 使用Upstart而不是 SysV Init 在启动时启动服务。因此,某些服务没有 SysV Init 脚本,而是/etc/init/(not /etc/init.d/) 中有一个 Upstart 作业描述文件。对于那些update-rc.d不起作用。

echo manual | sudo tee /etc/init/avahi-daemon.override
Run Code Online (Sandbox Code Playgroud)

禁用avahi-daemon启动时启动。替换avahi-daemon为您想停止的任何服务。

有关如何使用 Upstart 的更多信息请参阅Upstart Intro、Cookbook 和 Best Practices

  • 这将在 Ubuntu 切换到 systemd 时改变。 (3认同)