Rpm升级处理配置文件

use*_*811 20 config upgrade rpm

我正在使用rpm -upgrade命令,并注意到rpm有不同的方法来处理修改后的配置文件,因此在升级过程中不会丢失.根据我的理解,如果修改了配置文件并使用rpm -U升级了包,则rpm会将原始属性文件重命名为{file} .rpmsave,并使用原始文件名{file}安装新配置文件.

但是,当我尝试使用我创建的包运行rpm -U时,我实际看到的是原始配置文件被删除,新配置文件被重命名为{file} .rpmsave.这是预期的行为吗?在我的安装脚本中,我还使用"sed"修改配置文件中的一些文本.这会干扰rpm在升级过程中处理配置文件的方式吗?

Cor*_*son 20

这是预期的行为.如果您希望配置文件永远不会被覆盖(并移动到.rpmsave),请使用%config(noreplace)而不是%config在rpm .spec文件中,并且不会替换该文件.相反,来自rpm包的新文件将被创建为.rpmnew,并且那里的文件将保持不变.