3

我想知道是否有办法执行以下操作:我在系统上安装了 rpmA-v1。它有很多配置文件,用户可以根据自己的目的进行编辑。然后,我想安装新版本的 rpmA,比如 rpmA-v2,在安装它之前,我想备份那些已编辑的配置文件,而不是再次编辑配置文件。

有没有办法知道在这种情况下编辑了哪些文件?

4

2 回答 2

5

如果您正在谈论与给定包相关的配置文件,那么rpm已经有一个非常强大的机制,称为.rpmnew/ .rpmsave

如果包正在升级,根据包创建者/维护者的判断,有两种可能的操作rpm

  1. 旧配置原封不动地保存在 at /etc/myprog/config,新配置安装在它旁边/etc/myprog/config.rpmnew。文件的存在*.rpmnew通常意味着旧配置未被编辑。
  2. 旧配置重命名为/etc/myprog/config.rpmsave,新配置安装为/etc/myprog/config(替换旧配置)。新配置可能是全新的(原版),也可能包含从旧.rpmsave版本继承的设置。文件的存在*.rpmsave是配置文件实际上是由rpm.

通常,在升级一个或多个包(或整个系统)后,建议使用类似的命令搜索所有.rpmnew/.rpmsave文件

find /etc -name "*.rpmsave" -or -name "*.rpmnew"

并仔细检查所有配置的.rpmnew/.rpmsave版本(如果它们在附近),以确保设置正确。您可以使用diff -u查看文本差异或meld图形差异/合并。

于 2013-06-05T08:37:38.273 回答
5

@mvp 提供了一种确定更改的配置文件的好方法 - 只要它们被标记为这样。

如果不是,您可以/应该验证已安装的软件包rpm -V packagename以显示任何更改的文件。

于 2013-06-05T09:54:50.233 回答