20

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

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

4

1 回答 1

20

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

于 2013-01-24T23:50:12.723 回答