我一直在遵循优秀的指南来创建 debian 软件包来安装应用程序可执行文件
https://wiki.debian.org/Packaging/Intro?action=show&redirect=IntroDebianPackaging
并使用 dh-systemd 安装 systemd 服务
https://bunn.cc/2017/debian-packaging-with-systemd/
但是,我想将两者结合起来创建一个包来安装服务并安装由该服务运行的二进制文件。
第一个教程的应用程序文件位于 /debian 文件夹上方的目录中,以及用于构建和安装应用程序的 make 文件,而 systemd 教程的服务文件位于 debian 文件夹中。我不清楚如何创建一个安装服务文件和依赖二进制文件的控制文件。
如果有人可以建议如何执行此操作或提供一些有用的参考材料,我将不胜感激。
我尝试过阅读https://wiki.debian.org/Teams/pkg-systemd/Packaging但这并不能解释太多。
这是一个现实的期望,还是应该将服务和应用程序分开打包?
谢谢
答案1
服务和应用程序应该打包在一起;至少,服务应该与实现它们管理的服务的二进制文件打包在一起。
在大多数情况下,安装 systemd 单元是透明的。如果主构建将单元安装到预期的目标目录 ( /lib/systemd/system
) 中,它们将被自动选取并启用。如果软件包在 中运送单位debian
,它们将被安装在正确的位置并且也会自动启用。这一切都是由dh_systemd_enable
和dh_systemd_start
,它曾经在 中发货,dh-systemd
但现在是 的一部分debhelper
,并包含在默认dh
序列中。
因此,如果您使用现有的应用程序包,并在 中添加一个服务文件debian
,您应该会发现它“正常工作”(假设您正在使用dh
)。