RPM中已更改文件的列表

时间:2013-06-05 08:22:39

标签: linux rpm

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

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

2 个答案:

答案 0 :(得分:5)

如果您正在讨论与给定软件包相关的配置文件,rpm已经具有相当强大的机制,称为.rpmnew / .rpmsave

如果软件包正在升级,软件包创建者/维护者可自行决定rpm可能采取的两种可能的行动:

  1. 旧配置保存完整,保留在/etc/myprog/config,并且新配置安装在/etc/myprog/config.rpmnew旁边。 *.rpmnew文件的存在通常意味着未编辑旧配置。
  2. 旧配置重命名为/etc/myprog/config.rpmsave,新配置安装为/etc/myprog/config(替换旧配置)。新配置可能是完全新鲜的(vanilla),也可能包含从旧的.rpmsave'd版本继承的设置。 *.rpmsave文件的存在非常强大,表明配置文件实际上是由rpm编辑的。
  3. 通常,在升级一个或多个软件包(或整个系统)之后,建议使用

    之类的命令搜索所有.rpmnew / .rpmsave个文件
    find /etc -name "*.rpmsave" -or -name "*.rpmnew"
    

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

答案 1 :(得分:4)

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

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