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

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

由于某种原因,我需要在启动时禁用系统服务。在我的情况下,这是 Avahi Daemon。我只是不想让它在启动时启动。

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

sudo update-rc.d avahi-daemon disable

但在 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.

Avahi 在启动时启动。我该如何禁用它?我正在寻找一种命令行方法来执行此操作。

请解释一下这里发生了什么?最近的 Ubuntu 版本中的一些变化破坏了 的使用update-rc.d?我怀疑我这里遗漏了一些东西。

答案1

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

使用

echo manual | sudo tee /etc/init/avahi-daemon.override

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

Upstart 简介、指南和最佳实践了解有关如何使用 Upstart 的更多信息。

相关内容