跳转到内容
搜索 Fedora 文档

    浏览当前文档目录

    升级到 Fedora 45:从 44 的实操步骤

    本页只讲从 Fedora 44 升到 45这一条具体路径。升级机制本身(哪些做法受支持、离线事务怎么工作)见用 system-upgrade 做版本间升级;F45 的变化清单见Fedora 45:变化、下载与升级入口。

    1. 备份数据:升级失败时,备份是唯一能事后补救的东西。
    2. 读 F45 的 Release Notes:确认移除项、默认值变化与你依赖的组件。
    3. 把 44 更新到最新:
    Terminal window
    sudo dnf upgrade --refresh
    • Fedora Workstation:用 GNOME Software 的升级入口;
    • KDE Plasma:用 Discover 的 Upgrade Now;
    • Server、最小化与自建:走 DNF System Upgrade 命令行。

    命令行三段:下载 → 重启 → 安装

    Section titled “命令行三段:下载 → 重启 → 安装”
    Terminal window
    sudo dnf system-upgrade download --releasever=45

    下载阶段系统仍可正常使用;完成后执行:

    Terminal window
    sudo dnf system-upgrade reboot

    系统会重启进入过渡环境执行安装,装完再重启进入 45。安装段不在你当前系统里完成,中断后不能简单重跑。

    升级到 45 之后,有三处与 44 不同,值得逐条确认:

    1. 仓库配置位置:自带仓库从 /etc/yum.repos.d 移到了 /usr/share/dnf5/repos.d,GPG 公钥在 /usr/share/pki/rpm-gpg。用 dnf repolist 确认仓库都在,再用 ls /usr/share/dnf5/repos.d 看自带文件;自定义仓库仍在 /etc/yum.repos.d。
    2. 签名校验变强制:rpm 层会拒绝未签名包;dnf 从仓库安装同样拒绝,本地文件路径只告警。装第三方 RPM 前先确认签名,细节见Fedora 安全更新与公告。
    3. 控制台换成 kmscon:Server 与 Workstation 的 VT 控制台由用户态 kmscon 提供;Cloud 镜像不启用。远程与本地控制台行为有差异时,先确认这一点。

    升级后核对:一段可复制的检查

    Section titled “升级后核对:一段可复制的检查”

    升级完成、重启进来之后,把这几条跑一遍,比”感觉能用”可靠:

    Terminal window
    grep -E "^(NAME|VERSION_ID|VARIANT)" /etc/os-release
    rpm -q rpm
    dnf repolist | tail -n +2 | wc -l
    ls /usr/share/dnf5/repos.d/*.repo | wc -l
    ls /etc/yum.repos.d/*.repo 2>/dev/null | wc -l

    F45 上的实测输出:

    NAME="Fedora Linux"
    VERSION_ID=45
    VARIANT="Cloud Edition"
    rpm-6.1.0-1.fc45.x86_64
    4
    4
    0

    判读方式:

    项预期不对时说明
    VERSION_ID45升级没完成,系统还在旧版本
    rpm -q rpm6.1.x还在 F44 的 6.0.x,升级未生效
    repolist 条数与你启用的仓库数一致仓库丢失,查 /usr/share/dnf5/repos.d
    /etc/yum.repos.d 条数0(无自定义仓库时)非 0 说明你有自定义仓库,属正常

    最后一条要特别注意:/etc/yum.repos.d 为空是 F45 的正常状态,不是仓库丢了——自带仓库搬到了 /usr/share/dnf5/repos.d,原因见仓库配置迁到 /usr。

    • 下载阶段失败:读报错(依赖、第三方源、密钥),处理原因后重新下载;不要盲目重试。
    • 安装阶段失败:优先恢复可启动的系统,再谈升级;救援内核与旧内核启动见升级失败排障。
    • 升级后异常:先确认 /etc/os-release 的版本号与 dnf repolist,再判断是升级未完成还是新版本行为变化。