我正在编写一个RPM
规范文件来安装和更新守护进程。我想确保在更新期间将任何现有的配置文件适当地重命名为.rpmsave
.rpmnew
。为此,我使用%config(noreplace)
,它似乎可以正确重命名。另外,我有一个命令可以在%post
钩子中执行条件重启,该命令也可以正常工作。
我遇到的问题是,当%post
钩子执行时,配置文件似乎尚未重命名,这导致我的服务无法启动。
重命名后是否有 rpm 钩子运行,如果没有,我还能采取什么其他方法。我考虑过使用rpm -V
来检查配置文件是否已被用户编辑并在%post
中自己执行重命名,但我真的不想这样做,因为它正在重现%config(noreplace)
的行为。
试试 %posttrans hook https://fedoraproject.org/wiki/Packaging:Scriptlets。它应该在安装结束时运行。