init 脚本没有安装到 /etc/init.d

init 脚本没有安装到 /etc/init.d

我有一个源包,我想在其中添加一个简单的 init.d 脚本。我知道 dh_installinit 应该会有所帮助:当我运行它时,它会创建 postrm、prerm、postinstall 的示例,以便在安装后执行 update-rc.d(顺便说一下,这对我来说没问题)但是当我执行 apt-get install 时,我无法让我新创建的包将文件复制到 /etc/init.d!

提前感谢 serverfault 社区!

答案1

dh_installinit(1)

如果存在名为的文件debian/package.init,则将其安装到etc/init.d/package包构建目录中,并带有“包裹“替换为包名称。

如果存在名为的文件debian/package.default,则将其安装到etc/default/package包构建目录中,并带有“包裹“替换为包名称。

答案2

发现了这个:

/etc/init.d 脚本必须被视为配置文件,要么(如果它们存在于软件包中,即 .deb 文件中)通过将它们标记为 conffiles,要么(如果它们不存在于 .deb 中)通过在维护者脚本中正确管理它们(参见配置文件,第 10.7 节)。这很重要,因为我们希望让本地系统管理员有机会将脚本调整到本地系统,例如,在不卸载软件包的情况下禁用服务,或者在启动服务时指定一些特殊的命令行选项,同时确保它们的更改不会在下一次软件包升级时丢失

http://www.debian.org/doc/debian-policy/ch-opersys.html

这是使用文档conffiles

http://www.debian.org/doc/manuals/maint-guide/ch-dother.en.html#s-conffiles

相关内容