构建一个包含模板 [email protected] 的 Debian 包

构建一个包含模板 [email protected] 的 Debian 包

我需要为应部署为服务的程序构建一个包。我已添加一个debian/helloworld.service,并且我的包已构建、安装并正常运行,我/lib/systemd/system/helloworld.service在目标主机上有一个。

但是,用户可能能够运行该服务的多个实例,每个实例都有自己的配置文件,我已经看到这里我需要一个格式的模板服务文件[email protected]

但是当我尝试使用构建包时,包中不再有模板服务文件(显示.deb 中没有)debian/[email protected]dpkg -c[email protected]

请注意,我正在使用 构建二进制包fakeroot debian/rules binary

最好的方法是什么?我应该使用 postinst 脚本吗(但https://www.debian.org/doc/manuals/maint-guide/dother.en.html#maintscripts似乎不鼓励使用它们)?

谢谢。

答案1

看过之后阿帕奇2它是使用模板服务安装的,似乎需要debian/helloworld.service与模板一起添加才能在.deb 文件中看到模板文件。debian/[email protected]

现在我可以看到[email protected]dpkg -c

答案2

您可以在 postinst 中添加一个脚本,该脚本将在目标主机上创建模板服务文件。但是,我们不鼓励这样做,因为它违背了声明式打包的原则。

更好的方法是随您的包提供一个脚本,用户可以运行该脚本以使用所需的配置创建所需的服务实例。该脚本可以根据需要运行,并可以生成所需的服务文件并启动服务实例。

相关内容