yum 更新 - .rpmnew 文件是否至关重要/需要采取行动?

yum 更新 - .rpmnew 文件是否至关重要/需要采取行动?

当 yum 安装更新时,有时会给出类似这样的信息:

warning: /etc/ssh/sshd_config created as /etc/ssh/sshd_config.rpmnew

我的想法是,采取行动是明智的,因为有时出于安全原因,对配置文件进行一些调整是很重要的;但是,我想知道我是否太谨慎了,这只是一个理论上的担忧,在实践中并不是真正的问题。

我想我问的是,是否有人知道过去几年中不合并 .rpmnew 文件的任何情况都会产生一些值得注意的不良影响 - 特别是在安全方面,但其他角度如稳定性或配置的可取性可能值得一提。

答案1

它是非常默认配置的更改很少会对安全性或稳定性产生影响。但是,“非常少”并不代表“从不”,检查所有.rpmnew文件并仔细检查它们是否包含重要更改,然后删除它们是一种良好的系统卫生习惯。

作为复查,您还应该安排接收安全通知和所有可应用更新的信息——阅读更改日志和公告将让您很好地了解正在修复的问题的性质。

答案2

我建议在更新后对 *.rpmnew 和 *.rpmsave 文件采取行动。这些文件的创建通常表示以下三件事之一:

  1. 您不小心(或者没有其他方法可以做到)并修改了软件包管理下的配置文件。通常,如果软件包提供了用于配置片段的目录(例如 /etc/<package>.d/,就像 PHP 的 /etc/php.d/ 中的目录一样),您应该将本地更改放在那里,而不受软件包提供的配置更改的影响。

  2. 打包人员不小心更改了 spec 文件中相应文件条目的定义(例如,他们忘记将特定文件标记为 %config 或将修饰符更改为 %config() 宏)。

  3. 发生了一些可疑的事情,相关配置文件已被篡改。

无论如何,如果更新生成了 *.rpmnew 或 *.rpmsave,最好执行以下操作:

  1. 比较新旧文件之间的差异diff -uw old_file new_file(-w 选项将忽略空格量的变化);

  2. 如果没有差异(除了空格),并且您正在调查 *.rpmnew 文件的创建,请使用 用 *.rpmnew 替换原始文件mv config_file.rpmnew config_file。这将确保保留软件包集元数据(例如时间戳、文件权限以及可能的功能)

  3. 如果存在差异,则根据软件包提供的文件重新设定更改(例如,如果您使用的是 *.rpmnew - 将该 *.rpmnew 文件复制到临时名称下,并对其进行调整以匹配原始配置文件中的所需更改;如果您使用的是 *.rpmsave - 将更改应用于软件包提供的配置文件)。这将确保进一步的更新更加容易,并且如果引入了新的配置文件格式,您将使用它

  4. 当您解决该“冲突”时,请删除相应的 *.rpmnew 或 *.rpmsave 文件,因为它们未被包管理跟踪。

这将为您提供一个干净、良好的系统,并确保您了解配置文件的最新更改。

相关内容