RPM 在 post 安装脚本 运行 之后删除文件,而不是在它之前

RPM deletes files after post install script has been run not before it

问题:有一个 RPM(由 FPM 包生成器创建)应该安装我们软件的新版本。

其中,与此 rpm 的旧版本相比,从默认安装中删除了几个 .sh 文件。相反,它们应该从 post-install 脚本中的 "defaults" 文件夹自动创建。

问题是:post 安装脚本首先检查文件是否存在,这样它就不会覆盖它们,看起来它们 因为对于由于某些原因,RPM 安装程序仅在 post-install 脚本执行后才删除这些旧文件。因此,除非您重复 rpm 安装,否则不会创建这些默认文件。

对此可以做些什么?

您可以查看 this great page 显示 rpm 脚本的顺序 运行(来自旧包和新包)

您可以考虑将您的交易移动到 %posttrans 部分而不是 %post 部分,那么旧包中的文件应该已被删除。