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

CentOS7升级至Stream8后,如何将dnf从el7版本升级到el8?

解决CentOS Stream 8中升级dnf至el8版本的问题

1. 修复CentOS Stream 8仓库配置

先清理残留的CentOS 7仓库,确保系统使用正确的Stream 8源:

  • 查看当前仓库列表:
    dnf repolist all
    
  • 禁用所有el7相关仓库,启用Stream 8核心仓库:
    dnf config-manager --disable '*el7*'
    dnf config-manager --enable baseos appstream extras
    

2. 优先升级rpm组件

问题核心是当前系统的rpmlib版本来自CentOS 7,无法满足el8版dnf的依赖要求,先升级rpm及关联包:

dnf update rpm rpm-libs rpm-python --best --allowerasing

该命令会自动处理冲突,将rpm组件升级至Stream 8版本,解决rpmlib版本不兼容问题。

3. 升级dnf至el8版本

完成rpm升级后,执行dnf升级命令:

dnf update dnf --best --allowerasing

4. 验证升级结果

检查dnf版本是否切换至el8系列:

dnf --version

正常输出应显示类似 4.2.23-1.el8 及以上的el8版本号。

极端情况的兜底方案

若上述步骤仍失败,可手动下载el8版dnf包强制安装(仅作为最后手段,可能引发后续依赖问题):

  • 下载对应架构的dnf核心包(以x86_64为例):
    curl -O https://mirror.centos.org/centos/8-stream/BaseOS/x86_64/os/Packages/dnf-4.2.23-1.el8.noarch.rpm
    curl -O https://mirror.centos.org/centos/8-stream/BaseOS/x86_64/os/Packages/dnf-data-4.2.23-1.el8.noarch.rpm
    curl -O https://mirror.centos.org/centos/8-stream/BaseOS/x86_64/os/Packages/libdnf-0.36.0-1.el8.x86_64.rpm
    
  • 强制安装:
    rpm -Uvh --force --nodeps dnf-data-4.2.23-1.el8.noarch.rpm libdnf-0.36.0-1.el8.x86_64.rpm dnf-4.2.23-1.el8.noarch.rpm
    

内容的提问来源于stack exchange,提问作者linux_tester

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 23:00:56