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