配置重命名后以 rpm 规范重启服务

restart service in rpm spec after config renamed

我正在编写一个 RPM 规范文件来安装和更新守护进程。我想确保在更新期间将所有现有配置文件适当重命名为 .rpmsave .rpmnew。为此,我使用 %config(noreplace),它似乎可以正确地进行重命名。此外,我在 %post 挂钩中有一个执行有条件重启的命令,它也可以正常工作。

我遇到的问题是,当 %post 挂钩执行时,配置文件似乎还没有重命名,这导致我的服务无法启动。

是否有在重命名后运行的 rpm 挂钩,如果没有,我可以采取其他什么方法。我考虑过使用 rpm -V 检查配置文件是否已被用户编辑并在 %post 中自己执行重命名,但我真的不想这样做,因为它正在重现 [= 的行为13=].

试试 %posttrans 挂钩 https://fedoraproject.org/wiki/Packaging:Scriptlets。它应该在安装结束时 运行。