操作系统 - 红帽企业 Linux 8
我创建了一个.spec
文件来构建和打包我的应用程序。我的rpm
还包括启动它my_app.service
的文件。systemd
但是,默认情况下必须使用systemctl enable my_app.service
. 我想在rpm
安装后启用它。我用谷歌搜索,发现我可以使用systemd.preset,它说:
不建议在实现这些单元的相应软件包中发送预设文件,而是将它们集中在分发或旋转默认策略中,可以通过管理员策略进行修改。
这是否意味着我不应该.preset
在我的 rpm 中添加文件?此外,在man
页面后面它说:
如果不存在预设文件,systemctl preset 将启用默认安装的所有单元。
如果我阅读正确,那么我的应用程序的服务文件应该会自动启用,但它没有发生,或者这意味着手册systemctl preset
?
是的,您不应该将 .preset 文件放在服务的包 RPM 中
这不会发生,因为
systemd
RHEL 中的包附带默认预设为/usr/lib/systemd/system-preset/90-systemd.preset
.如果您想坚持分发包装指南,您有两种选择,即:
epel-release
,它安装/usr/lib/systemd/system-preset/90-epel.preset
除其他外。