我可以构建一个拥有未安装的文件的 rpm 包吗?

我可以构建一个拥有未安装的文件的 rpm 包吗?

我遇到过一种情况,我需要在应用程序首次启动时创建一个填充了默认值的配置文件。这不是典型的配置文件,我们非常关心用户所做的任何修改。在升级期间,我只想删除配置文件,这样新代码就可以启动并自动使用默认值重新创建配置文件(这不是我的决定 - 只是勉强服从命令)。

有没有办法构建一个拥有未安装文件的 rpm 包,以便在卸载过程中删除该文件?

我知道我可以随时添加一个删除文件的预删除脚本 - 我只是想知道我是否可以让 rpm 自动为我完成此操作。

答案1

您可以使用该指令执行此操作%ghost

%files
%ghost /path/to/future.file

来自文档

%ghost 指令

正如我们在 %files 列表一节中提到的,如果在 %files 列表中指定了某个文件,则该文件将自动包含在包中。有时,某个文件应该由包拥有但尚未安装 - 日志文件和状态文件就是您可能希望这种情况发生的很好的例子。

答案2

不可以,这不可能。

顺便说一句:RPM 用于交付应用程序和库。对于配置管理,您应该使用 Ansible。

相关内容