![Debian 实际上有在安装时启动服务的书面政策吗?](https://linux22.com/image/181726/Debian%20%E5%AE%9E%E9%99%85%E4%B8%8A%E6%9C%89%E5%9C%A8%E5%AE%89%E8%A3%85%E6%97%B6%E5%90%AF%E5%8A%A8%E6%9C%8D%E5%8A%A1%E7%9A%84%E4%B9%A6%E9%9D%A2%E6%94%BF%E7%AD%96%E5%90%97%EF%BC%9F.png)
答案1
这是在政策的“管理链接”部分,其中描述了如何处理服务链接:
默认行为是启用自动启动程序包的守护进程。
我在这里读的是广义上的“自动启动”;从技术上讲,因为本政策的这一部分仅涉及“链接”,IE,将服务配置为在启动时启动,可以理解为只需要这样做,但这会导致系统状态不一致(IE已安装但直到下次启动才启动的服务)。本节中的建议和下一个:
对于包来说,最简单的方法是不直接调用
update-rc.d
,而是使用 debhelper 程序update-rc.d
自动添加所需的调用。参见dh_installinit
、dh_installsystemd
等。
对于包来说,最简单的方法是不直接调用
invoke-rc.d
,而是使用 debhelper 程序invoke-rc.d
自动添加所需的调用。参见dh_installinit
、dh_installsystemd
等。
导致默认情况下立即启用并启动的服务。
政策的其他部分假定了这一点,或者至少是由于支持这一点的要求而产生的;因此在配置文件部分:
这些脚本不需要配置包的每个可能的选项,而只需配置那些使包在给定系统上运行所必需的选项。理想情况下,系统管理员不必执行除脚本(半)自动完成的配置之外的任何配置
postinst
。
但如果有必要,策略允许相反的行为:
但是,如果除非本地管理员明确请求,否则守护进程不应自动启动,请添加到您的 postinst 脚本中:
update-rc.d package defaults-disabled
也可以在本地配置默认值;例如,debootstrap
通常设置 -style chroot 来跳过正在运行的服务。
这部分策略需要针对 systemd 进行更新,但一般原则仍然适用。