为什么取消屏蔽服务会删除该文件?

为什么取消屏蔽服务会删除该文件?

我有

$ sudo systemctl unmask nmbd
Removed /etc/systemd/system/nmbd.service.

$ sudo systemctl enable nmbd
nmbd.service is not a native service, redirecting to systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable nmbd

为什么?为什么解密服务会删除其文件?启用服务时会出现奇怪的情况吗?

答案1

/etcsystemd 中的服务通过将覆盖链接到 来屏蔽/dev/null;所以屏蔽nmbd.service是通过链接/etc/systemd/system/nmbd.service到 来完成的/dev/null。通过删除该链接来解密它。服务文件仍然存在,/lib/systemd/system/用于本机 systemd 服务。

nmbd.service不是本机 systemd 服务,因此/lib/systemd/system/nmbd.service不存在。它是在 中实现的/etc/init.d/nmbd,因此systemctl可以看到它并委托以systemd-sysv-install启用它。后者委托给特定于发行版的工具,例如 chkconfigupdate-rc.dETC。

相关内容