【问题标题】:Rpm upgrade handling of config files配置文件的rpm升级处理
【发布时间】:2013-01-08 19:10:11
【问题描述】:

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

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

【问题讨论】:

  • 你为 sed 命令做了什么?修改rpmnew文件?

标签: config upgrade rpm


【解决方案1】:

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

【讨论】:

  • 有什么方法可以保留原始文件,或者我是否必须在 %post install 中将 .rpmnew 文件重命名回原始文件名?
  • 对不起,如果我不清楚;原始文件保留(不被替换),来自 rpm 的“新”配置文件被创建为 .rpmnew。
猜你喜欢
  • 2015-10-15
  • 2011-11-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-22
  • 2010-09-13
  • 1970-01-01
  • 2014-12-11
相关资源
最近更新 更多