如何在 RPM 包中使用 systemd 预设

How to use the systemd presets in an RPM package

我正在阅读有关使用 systemd 预设的 Fedora 打包指南,但遗漏了一个关键点:

宏 %systemd_post 运行 systemctl preset 意味着有关是否启用或禁用该服务的信息必须已经存在于 systemd 预设文件中。但是它首先从哪里去那里呢?软件包应该首先将它自己的预设文件放在提供的位置(据我所知,这是不推荐的,因为它会使一般策略的管理复杂化),还是将正在安装的服务添加到现有的 systemd 预设文件之一?那么有几个呢?

我说的是一个自写的服务,它满足默认启用的要求,因此我想在安装过程中自动启用它。

关于预设: https://fedoraproject.org/wiki/Features/PackagePresets https://www.freedesktop.org/software/systemd/man/systemd.preset.html

这些预设用于分发本身(例如,应该为工作站启用某些服务,但不能为服务器启用)。 您的第 3 方包将永远不会启用。 因此,如果您真的认为应该启用它(三思而后行),那么您只需在 %post 中启用它即可。 如果你想让你的包进入 Fedora,这将被拒绝,但我想那不是你的情况。