Rpm升级处理配置文件

时间:2013-01-24 21:42:10

标签: config upgrade rpm

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

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

1 个答案:

答案 0 :(得分:20)

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