如何强制替换RPM中标记为%config的配置文件
如何强制替换RPM中标记为%config的配置文件
嗨,这个需求太常见了——有时候就是不想纠结那些修改过的配置文件,直接用新包的版本全覆盖就行。答案是肯定的,我们可以通过dnf/yum或者rpm的命令参数来实现:
全局更新时强制替换所有配置文件
如果你要执行系统更新,同时想让所有标记为%config或%config(noreplace)的配置文件都被新版本覆盖(丢弃本地修改),可以用这两个参数组合:dnf update --force-confdef --force-confnew简单解释下:
--force-confdef会优先使用包的默认配置,--force-confnew则强制用新的配置文件替换旧的,哪怕旧文件有过修改。两者搭配就能实现“一刀切”替换所有配置文件的效果。针对单个包强制替换配置文件
如果只需要更新某个特定包并替换它的配置文件,可以直接用rpm命令:rpm -Uvh --force-confnew <你的包名>先测试再执行(推荐)
如果你不确定执行后会影响哪些文件,可以先加--test参数做个模拟运行,不会实际修改系统:dnf update --force-confdef --force-confnew --test
这样操作后,系统就不会再生成.rpmsave或.rpmnew文件,而是直接用新包的配置文件覆盖掉旧的,完全丢弃本地的修改。
备注:内容来源于stack exchange,提问作者Lars Kiesow
相关产品推荐
相关产品推荐

