易君召
发布于 2026-05-01 / 3 阅读
0
0

Fedora 43 通过DNF命令升级Fedora 44实战操作保姆级教程

本人笔记本电脑为ThinkPad T480,从Fedora 35一直持续升级到Fedora 43,今天继续实战操作升级Fedora 44。.

现有的Fedora 43系统情况如下:

hinkpad-t480 :: ~ » neofetch
             .',;::::;,'.                yijunzhao@thinkpad-t480 
         .';:cccccccccccc:;,.            ----------------------- 
      .;cccccccccccccccccccccc;.         OS: Fedora Linux 43 (Workstation Edition) x86_64 
    .:cccccccccccccccccccccccccc:.       Host: 20L5A00YHK ThinkPad T480 
  .;ccccccccccccc;.:dddl:.;ccccccc;.     Kernel: 6.19.14-200.fc43.x86_64 
 .:ccccccccccccc;OWMKOOXMWd;ccccccc:.    Uptime: 22 mins 
.:ccccccccccccc;KMMc;cc;xMMc:ccccccc:.   Packages: 4180 (rpm) 
,cccccccccccccc;MMM.;cc;;WW::cccccccc,   Shell: zsh 5.9 
:cccccccccccccc;MMM.;cccccccccccccccc:   Resolution: 1920x1080 
:ccccccc;oxOOOo;MMM0OOk.;cccccccccccc:   DE: Plasma 6.6.4 
cccccc:0MMKxdd:;MMMkddc.;cccccccccccc;   WM: kwin 
ccccc:XM0';cccc;MMM.;cccccccccccccccc'   Theme: Breeze Light [Plasma], Breeze [GTK2/3] 
ccccc;MMo;ccccc;MMW.;ccccccccccccccc;    Icons: breeze [Plasma], breeze [GTK2/3] 
ccccc;0MNc.ccc.xMMd:ccccccccccccccc;     Terminal: gnome-terminal 
cccccc;dNMWXXXWM0::cccccccccccccc:,      CPU: Intel i7-8550U (8) @ 4.000GHz 
cccccccc;.:odl:.;cccccccccccccc:,.       GPU: Intel Kaby Lake-R GT2 [UHD Graphics 620] 
:cccccccccccccccccccccccccccc:'.         GPU: NVIDIA GeForce MX150 
.:cccccccccccccccccccccc:;,..            Memory: 4013MiB / 15873MiB 
  '::cccccccccccccc::;,.
                                                             
                                                                

KDE桌面环境下的笔记本配置截图

本文的教程参照Fedora官网的英文升级说明https://docs.fedoraproject.org/en-US/quick-docs/upgrading-fedora-offline/ 所有操作都是个人笔记本实战操作,同时也会把遇到的问题记录下来。

1.系统升级到最新状态

sudo dnf upgrade --refresh

2.下载Fedora 44升级包

sudo dnf system-upgrade download --releasever=44

在命令过程过程中家里的WiFi不稳定,下载一点就进度不动了,因此我用了Ctrl+C停止,再次使用如上的命就报错

Problem 1: installed package kdelibs-webkit-6:4.14.38-49.fc43.x86_64 requires kdelibs(x86-64) = 6:4.14.38-49.fc43, but none of the providers can be installed
  - kdelibs-6:4.14.38-49.fc43.x86_64 does not belong to a distupgrade repository
  - problem with installed package
 Problem 2: problem with installed package
  - package sddm-wayland-miriway-26.01-1.fc44.noarch from fedora conflicts with sddm-greeter-displayserver provided by sddm-wayland-plasma-6.6.4-1.fc44.noarch from fedora
  - sddm-wayland-plasma-6.6.4-1.fc43.noarch does not belong to a distupgrade repository
  - conflicting requests
你可以尝试添加到命令行中:
  --allowerasing 允许删除和安装软件包来解决问题

按照提示更换了命令,正常继续

sudo dnf system-upgrade download --releasever=44 --allowerasing

由于我使用Fedora安装了很多软件,所以提示下载7GB文件,每个人的升级包下载大小不同。

Transaction Summary:
 Installing:       218 packages
 Upgrading:       4075 packages
 Replacing:       4097 packages
 Removing:           2 packages
 Downgrading:        6 packages

本次要处理的软件包总大小为 7 GiB. 还需下载 7 GiB。
此次操作完成之后,908 MiB 额外的空间被使用 (安装 20 GiB, 删除 20 GiB)。

3.确认导入新的GPG密钥

离线事务测试中
导入 OpenPGP 密钥 0x6D9F90A6:
 用户ID     : "Fedora (44) <fedora-44-primary@fedoraproject.org>"
 指纹 : 36F612DCF27F7D1A48A835E4DBFCF71C6D9F90A6
 来源 : file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-44-x86_64
Is this ok [y/N]: y
该密钥成功导入。

4 准备重启升级

rpm包下载后离线事物测试完成

[4299/4299] Total                                                                                         100% |   0.0   B/s |   0.0   B |  00m27s
离线事务测试中
已经存储的事务可以离线执行。运行 "dnf5 offline reboot" 以重新启动并运行事务。若要取消事务并删除已下载的文件,须使用 "dnf5 offline clean" 命令。
完成!

按照提示运行重启命令

sudo dnf5 offline reboot

5 电脑重启后升级过程

电脑重启后开始升级,请耐心等待,升级过程大概20-30分钟,根据下载升级包的大小、电脑配置差异升级过程时间有所不同。

6 完成升级后重启,升级Fedora 44成功

yijunzhao@thinkpad-t480 ~ neofetch
             .',;::::;,'.                yijunzhao@thinkpad-t480 
         .';:cccccccccccc:;,.            ----------------------- 
      .;cccccccccccccccccccccc;.         OS: Fedora Linux 44 (Workstation Edition) x86_64 
    .:cccccccccccccccccccccccccc:.       Host: 20L5A00YHK ThinkPad T480 
  .;ccccccccccccc;.:dddl:.;ccccccc;.     Kernel: 6.19.14-300.fc44.x86_64 
 .:ccccccccccccc;OWMKOOXMWd;ccccccc:.    Uptime: 4 mins 
.:ccccccccccccc;KMMc;cc;xMMc:ccccccc:.   Packages: 4381 (rpm) 
,cccccccccccccc;MMM.;cc;;WW::cccccccc,   Shell: zsh 5.9 
:cccccccccccccc;MMM.;cccccccccccccccc:   Resolution: 1920x1080 
:ccccccc;oxOOOo;MMM0OOk.;cccccccccccc:   DE: Plasma 6.6.4 
cccccc:0MMKxdd:;MMMkddc.;cccccccccccc;   WM: kwin 
ccccc:XM0';cccc;MMM.;cccccccccccccccc'   Theme: Breeze Light [Plasma], Breeze [GTK2/3] 
ccccc;MMo;ccccc;MMW.;ccccccccccccccc;    Icons: breeze [Plasma], breeze [GTK2/3] 
ccccc;0MNc.ccc.xMMd:ccccccccccccccc;     Terminal: gnome-terminal 
cccccc;dNMWXXXWM0::cccccccccccccc:,      CPU: Intel i7-8550U (8) @ 4.000GHz 
cccccccc;.:odl:.;cccccccccccccc:,.       GPU: Intel Kaby Lake-R GT2 [UHD Graphics 620] 
:cccccccccccccccccccccccccccc:'.         GPU: NVIDIA GeForce MX150 
.:cccccccccccccccccccccc:;,..            Memory: 3507MiB / 15874MiB 
  '::cccccccccccccc::;,.

KDE Plasma 6.6.4

Gnome 50

7 升级磁盘空间不足处理

我的笔记本电脑下载Fedora 44的升级包有6.8GB,下载后升级提示根目录空间不足,所以要考虑清理部分空间处理。

Fedora 44使用DNF5,下载的升级包路径在/usr/lib/sysimage/libdnf5/offline,将其迁移到别的分区/opt(我笔记本电脑为/opt单独创建的独立分区)

#创建转移的新目录
sudo mkdir -p /opt/upgrade-cache/offline
#拷贝转移升级包文件
sudo cp -a /usr/lib/sysimage/libdnf5/offline/* /opt/upgrade-cache/offline/
#删除原有升级包文件
sudo rm -rf /usr/lib/sysimage/libdnf5/offline/*

把绑定挂载写入 /etc/fstab,让它在系统启动的最早阶段就生效,这样离线升级就能找到包,否则系统重启后无法找到新的下载包位置

# 假设你的包备份在 /opt/upgrade-cache/offline
# 先确保这个目录存在并且里面有包
ls /opt/upgrade-cache/offline/packages/

# 写入 fstab(让绑定挂载在重启后仍然有效)
echo "/opt/upgrade-cache/offline /usr/lib/sysimage/libdnf5/offline none bind 0 0" | sudo tee -a /etc/fstab

# 立刻挂载验证
sudo mount -a
sudo systemctl daemon-reload
ls /usr/lib/sysimage/libdnf5/offline/packages/  # 确认能看到包

然后继续执行即可

sudo dnf5 system-upgrade download --releasever=44
sudo dnf offline reboot

待升级完成后,特别注意要将挂载点关闭,/etc/fstab对应的注释或删除

#remove upgrade files
#/opt/upgrade-cache/offline /usr/lib/sysimage/libdnf5/offline none bind 0 0

同时删除原来转移的目录路径

sudo rm -rf /opt/upgrade-cache


评论