我用nfpm创建了一个RPM。当RPM安装在OEL 7.x系统上时,需要我重新加载单元文件,然后才能启动服务。
systemctl daemon-reload
我该如何允许RPM重新加载,以便可以启动该服务,并在重新启动时启用该服务?
由于这可能是特定于nfpm config(YAML)的,所以我也不介意本机RPM规范文件的视角。
谢谢。
答案 0 :(得分:1)
您可以将其放在%post
部分:
%post
systemctl daemon-reload
我们正在努力,以下是我在卸载软件包时发现的一些好的做法:
%preun
if [ $1 == 0 ]; then #uninstall
systemctl unmask %{name}.service
systemctl stop %{name}.service
systemctl disable %{name}.service
fi
%postun
if [ $1 == 0 ]; then #uninstall
systemctl daemon-reload
systemctl reset-failed
fi