如何在 Ubuntu 15.10 中禁用不必要的服务而不卸载它们?

Iva*_*van 1 upstart services systemd 15.10

有一些守护进程是我零使用的,并且希望阻止自动启动,其中包括 avahi、zeitgeist、telepathy、apport 等。不用说我不希望他们开始。可以在不卸载它们的情况下实现这一点吗(仍然存在依赖关系,我什至相信当我真正需要它们时可能会发生)?

mch*_*hid 5

是的,因为您使用的是 Ubuntu 15.10,所以您现在可以使用 systemd 禁用这些不需要的服务。

\n\n

您有两个选择:disable& mask

\n\n

选项一:

\n\n

当您mask使用服务时,您可以通过创建到 的符号链接来阻止任何用户或服务启动该服务/dev/null

\n\n

屏蔽服务:

\n\n

例如,要完全禁用apport,请运行以下命令:

\n\n
sudo systemctl stop apport\nsudo systemctl mask apport\nsystemctl status apport\n
Run Code Online (Sandbox Code Playgroud)\n\n

如果成功,最后一个命令应返回以下内容:

\n\n
\xe2\x97\x8f apport.service\n   Loaded: masked (/dev/null)\n   Active: inactive (dead)\n
Run Code Online (Sandbox Code Playgroud)\n\n

选项二:

\n\n

当您使用disable服务时,您可以防止该服务在启动时自动加载。

\n\n

但是,如果禁用时由另一个服务调用,该服务仍可能启动,并且您仍然可以通过显式调用该服务来启动该服务。

\n\n

要禁用服务:

\n\n

要防止apport在引导时启动,请运行以下命令:

\n\n
sudo systemctl stop apport\nsudo systemctl disable apport\nsystemctl status apport\n
Run Code Online (Sandbox Code Playgroud)\n\n
\n\n

运行以下命令以获得更完整的列表并使用它grep来缩小结果范围:

\n\n
systemctl status -a\n
Run Code Online (Sandbox Code Playgroud)\n