You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何强制替换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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 13:19:38