核心更新命令
检查并安装所有可用的更新(最常用)
这个命令会检查所有软件仓库,并列出可以升级的包,然后询问你是否要安装它们。

sudo dnf update
或者使用更短的别名:
sudo dnf up
执行过程:
- 你需要输入
sudo密码来获得管理员权限。 - 系统会显示将要下载和安装的包列表,以及它们的大小。
- 系统会询问
Is this ok [y/N]:,输入y然后按回车键确认开始更新。
其他常用更新命令
仅检查更新,不安装
如果你只想看看有哪些更新可用,而不想立即安装,可以使用 check-update。
sudo dnf check-update
或者使用其别名:

sudo dnf check-up
这个命令会列出所有有新版本的包,但不会进行任何下载或安装操作。
升级整个系统(包括内核和固件)
update 命令通常不会升级主内核版本(例如从 6.5 升级到 6.6),因为它认为这可能会导致系统不兼容,而 upgrade 命令则更激进,它会升级所有包,包括主版本变更的包。
sudo dnf upgrade
或者使用更短的别名:
sudo dnf distro-sync
dnf upgrade vs dnf distro-sync:

dnf upgrade:升级所有已安装的包到它们在仓库中的最新版本,可能会引入主版本变更。dnf distro-sync:将你的系统“同步”到当前 Fedora 发布版的最新状态,它会确保你拥有与官方仓库完全匹配的软件包集合,是保持系统状态最纯净、最推荐的方式。
注意: 执行 dnf upgrade 或 dnf distro-sync 后,强烈建议在重启前重新生成 initramfs 并更新 GRUB 配置,以确保新内核和引导程序正常工作。
# 重新生成 initramfs sudo dracut --force --hostonly # 更新 GRUB 配置 sudo grub2-mkconfig -o /boot/grub2/grub.cfg
升级整个 Fedora 系统版本(例如从 Fedora 39 升级到 Fedora 40)
这是用于从一个主要的 Fedora 版本升级到另一个版本(例如从 39 到 40)的命令。
重要提示: 在执行此操作前,务必备份你的重要数据!
sudo dnf upgrade --refresh sudo dnf install dnf-plugin-system-upgrade sudo dnf system-upgrade download --releasever=40 # 将 40 替换为你想升级到的版本号 sudo dnf system upgrade reboot
执行完最后一条命令后,系统会重启,并在启动过程中进入一个特殊的升级环境,完成后再次重启,你就拥有了新版本的 Fedora。
系统维护与更新相关的命令
清理缓存
dnf 会下载软件包的缓存(.rpm 文件)以供离线安装,时间长了会占用磁盘空间,可以清理掉。
# 清理所有缓存的软件包 sudo dnf clean all # 只清理过期的缓存(推荐) sudo dnf clean packages
重新缓存仓库信息
如果你遇到了找不到包或版本不匹配的问题,可以尝试重新加载仓库的元数据信息。
sudo dnf makecache
总结表格
| 命令 | 别名 | 用途 |
|---|---|---|
sudo dnf update |
sudo dnf up |
最常用:检查并安装所有安全性和错误修复更新,通常不升级主版本。 |
sudo dnf check-update |
sudo dnf check-up |
仅检查可用的更新,不进行任何安装。 |
sudo dnf upgrade |
- | 升级所有包,包括主版本变更的包(如内核升级)。 |
sudo dnf distro-sync |
- | 推荐:将系统同步到当前发行版的最新状态,保持纯净。 |
sudo dnf system-upgrade |
- | 用于升级整个 Fedora 大版本(如 39 -> 40)。 |
sudo dnf clean all |
- | 清理所有缓存的软件包,释放磁盘空间。 |
sudo dnf makecache |
- | 重新生成仓库缓存,解决包查找问题。 |
最佳实践建议
- 日常更新:定期运行
sudo dnf update来保持系统安全和稳定。 - 重大更新后:在执行了
sudo dnf upgrade或sudo dnf distro-sync后,特别是升级了内核后,强烈建议重启系统,并按照上文所述执行dracut和grub2-mkconfig命令。 - 重要操作前备份:在任何重大操作(如大版本升级)前,请务必备份你的个人数据。
- 查看变更:在执行
dnf update前,可以先运行dnf check-update查看将要更新的内容,做到心中有数。
