如何使用 rpmbuild 规范文件正确更新局部变量?

How to properly update the local variables with rpmbuild spec file?

我需要使用 RPM 打包的自定义软件包定期更新多个 CentOS 服务器。该软件有多个目录和文件,其中一些是配置文件,其中包含多个具有本地服务器特定值的变量。

我一直在阅读关于 configuration files 的 RPM 文档,其中解释了如何正确地制作它们并保持它们不变。但我实际上也需要更新配置文件的内容,只保留一些局部变量值。所以我看到了两种可能的方式:

  1. 将此类文件标记为配置文件,并在 rpmuild 的规范文件中使用 %post 指令在 yum update 执行远程服务器后使用差异更新每个此类文件。

  2. 第二种方式刚好相反:yum update 替换所有内容,但是由于 %post 指令,远程服务器上相应文件上的一些变量被更新为本地值.

所以我的问题是哪种方式更好,经验丰富的 RPM 包构建者推荐哪种方式 - 我在这里完全是新手,所以请多多包涵。

使用 *.rpm 打包进行本地配置的最佳方法是更改​​配置范例以包含 2 个文件,一个包含包中的通用默认配置,另一个具有带有(可能的)覆盖的本地配置。

RPM 最好分发静态内容,而不是可变配置文件。