我想知道,如果有办法做到以下几点: 我在系统上安装了rpmA-v1。它有很多配置文件,用户可以根据其目的进行编辑。然后,我想安装rpmA的新版本,比如rpmA-v2,在安装之前我想备份那些已编辑的配置文件,而不是再次编辑配置文件。
有没有办法知道在这种情况下编辑了哪些文件?
答案 0 :(得分:5)
如果您正在讨论与给定软件包相关的配置文件,rpm
已经具有相当强大的机制,称为.rpmnew
/ .rpmsave
。
如果软件包正在升级,软件包创建者/维护者可自行决定rpm
可能采取的两种可能的行动:
/etc/myprog/config
,并且新配置安装在/etc/myprog/config.rpmnew
旁边。 *.rpmnew
文件的存在通常意味着未编辑旧配置。/etc/myprog/config.rpmsave
,新配置安装为/etc/myprog/config
(替换旧配置)。新配置可能是完全新鲜的(vanilla),也可能包含从旧的.rpmsave
'd版本继承的设置。 *.rpmsave
文件的存在非常强大,表明配置文件实际上是由rpm
编辑的。通常,在升级一个或多个软件包(或整个系统)之后,建议使用
之类的命令搜索所有.rpmnew
/ .rpmsave
个文件
find /etc -name "*.rpmsave" -or -name "*.rpmnew"
并仔细检查所有配置文件({1}} / .rpmnew
版本(如果它们在附近),以确保设置正确无误。您可以使用.rpmsave
查看文字差异,或使用diff -u
进行图形差异/合并。
答案 1 :(得分:4)
@mvp提供了一种确定更改的配置文件的好方法 - 只要它们被标记为这样。
如果不是,您可以/应该使用rpm -V packagename
验证已安装的软件包,以便显示任何已更改的文件。