防止 Debian 在安装包后自动启用 systemd 服务

Sal*_*alt 6 debian systemd

在 Debian 上,如果您安装的软件包具有 systemd 服务,它们将在安装后自动启用并启动。我找到了一种禁用后者的方法,但还没有禁用前者。

似乎安装后脚本用于deb-systemd-helper执行此操作,这意味着禁用它应该不是不可能的。

编辑:这就是我最终做的。

/etc/systemd/system-preset/00-disable-all.preset:

disable *
Run Code Online (Sandbox Code Playgroud)

sou*_*edi 3

它看起来像“您可以ssh.service在安装包之前创建一个到 mask 的符号链接”。例如ln -s /dev/null /etc/systemd/system/ssh.service。

我想这需要您知道该包创建的所有服务的名称。

我知道这种方法有一个小缺点。如果您有一个被屏蔽的服务也被标记为“已启用”,那么systemd将在启动过程中记录一条警告。

请注意,systemd“掩码”将阻止通过任何方法启动服务,包括手动运行systemctl start ssh。因此,根据您想要执行的操作,您可能需要在安装软件包后删除遮罩。


如果包是ssh,它有一个特定的 hack,你可以使用它!坏消息:这意味着包中需要特定的 hack,因为所有其他方法都有缺点。但如果您愿意,可以看看我考虑的方法:-)。安全地配置我的 sshd(通过自动化)

  • 我正在寻找一种适用于执行此操作的每个包的方法,而屏蔽方法是我想避免的解决方案之一。 (2认同)