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