为什么更新后会有.rpmnew 文件?

为什么更新后会有.rpmnew 文件?

我使用 yum 更新我的 Fedora。经过一次大规模更新后,我得到了许多.rpmnew文件.rpmsave。我可以理解我是否修改了这些文件。但我确定我没有编辑过这些文件。

我该如何处理这些文件?下次更新会发生什么?

以下是这些文件的示例:

/usr/share/texmf-var/fonts/map/dvipdfm/updmap/dvipdfm_dl14.map.rpmnew
/usr/share/texmf-var/fonts/map/dvipdfm/updmap/dvipdfm_dl14.map.rpmsave

谢谢

答案1

有两种情况:

  • 如果某个文件是作为 rpm 的一部分安装的,则它是一个配置文件(即标有%config标签),之后您编辑了文件,现在更新 rpm,那么新的配置文件 (来自较新的 rpm) 将替换您的旧配置文件 (即成为活动文件)。后者将重命名为.rpmsave后缀。
  • 如果文件是作为 rpm 的一部分安装的,则它是一个 noreplace-config 文件(即标有%config(noreplace)标签),之后你编辑了文件,现在你更新了 rpm,那么你的旧配置文件将保留在原处(即保持活动状态),而新的配置文件(来自较新的 rpm)将与.rpmnew后缀。

例如这张桌子了解所有详细信息。

在这两种情况下你或某个程序已编辑配置文件,这就是为什么您在升级后会看到.rpmsave/.rpmnew文件,因为如果本地文件未受影响,rpm 将默默地升级配置文件,并且不需要备份文件。

系统升级后,最好扫描文件系统以查找这些文件,并确保正确的配置文件处于活动状态,并可能将 .rpmnew 文件中的新内容合并到生产文件中。完成后,您可以删除.rpmsave和文件。.rpmnew

答案2

有时包管理器只是对哪些文件是修改文件感到困惑。通常是因为某个程序做了修改(尤其是那些 TeX 映射文件)。

处理这些类型的文件时我使用两种方法,取决于我的心情、系统的关键性以及我对相关文件的了解程度:

  1. 在系统正常运行一段时间后,只需删除那些我不认为已经发生改变的内容(这可能很危险,但我认为如果是某些非常重要的内容,我现在就会注意到。请注意,我只在“低价值”系统上执行此操作,如果我搞砸了,我可以花一些时间进行修复);
  2. 在文件的各个版本之间执行统一差异 ( diff -u <current file> <new/save version>),检查输出并集成版本之间的必要更改以使所有内容都跟上速度,然后在我对所有内容感到满意时删除保存/新文件。还有很多工作要做(尽管用于查找和比较文件的小型 shell 脚本有帮助),但几乎可以保证不会破坏任何东西,除非我搞砸了合并。

相关内容