DNF升级系统软件核心三步:同步源信息(sudo dnf makecache)、执行升级(如sudo dnf upgrade)、验证结果(检查内核、重启服务、验证功能)。

用 DNF 升级系统软件,核心就三步:同步源信息、执行升级、验证结果。它不是“一键全包”,而是有明确逻辑和可干预环节的流程。
刷新仓库元数据
DNF 不会实时知道远程仓库有没有新版本。必须先拉取最新的软件清单(repodata),否则 upgrade 可能找不到可用更新:
-
sudo dnf makecache —— 推荐命令,等效于旧版的
dnf clean metadata && dnf makecache,更可靠 - 也可用
sudo dnf check-update快速查看有哪些包可升,不实际安装
执行软件包升级
升级分不同粒度,按需选择:
- sudo dnf upgrade —— 升级所有已安装且有新版的软件包(最常用)
-
sudo dnf upgrade package-name —— 只升级指定的一个或多个包,如
sudo dnf upgrade firefox kernel-core - sudo dnf upgrade-minimal —— 只升必要依赖,跳过次要更新,适合生产环境稳态维护
-
sudo dnf --security upgrade —— 仅应用含安全修复的更新(需
dnf-plugins-core,多数新版已内置)
升级后关键检查项
升级完成不等于万事大吉,尤其涉及内核、服务、配置时:
- 查新内核是否已装:
ls /boot/vmlinuz-*,再比对uname -r,若不一致需重启 - 重启受影响的服务:比如升级了
openssh-server就运行sudo systemctl restart sshd - 验证关键功能:网络通否、登录是否正常、数据库能否连接、Web 服务能否响应
- 看历史记录:
dnf history查本次操作 ID,dnf history info ID确认装了哪些包
可选但实用的进阶动作
日常维护中加一点配置,能省去不少麻烦:
- 自动清理旧内核:
sudo dnf install dnf-plugin-system-upgrade后设置installonly_limit=2在/etc/dnf/dnf.conf - 启用自动安全更新:
sudo systemctl enable --now dnf-automatic.timer,配置见/etc/dnf/automatic.conf - 换国内源加速(如阿里云、清华源):改
/etc/yum.repos.d/*.repo中的baseurl,再dnf makecache


















