首页/系统/Linux 运维命令速查/dnf/yum check-update 与补丁窗口

dnf/yum check-update 与补丁窗口

变更窗口先体检:check-update 列出可升级包(含安全公告)、updateinfo 查 CVE 补齐,确认范围后再执行升级。

Linux 运维命令速查系统更新于 2026-10-13

升级前评估

check-update 是变更窗口前的体检命令:它只会告知有哪些包可以升级,不会动系统。配合 updateinfo 能看出哪些更新带安全公告、对应哪些编号,从而决定是全量升级、只装安全更新,还是把内核等基础组件排除在本次窗口之外。把这些信息先收集齐再动手,是让升级可控的关键一步。

基本信息

用途列出可升级的包、查看安全公告、按范围执行升级
语法dnf check-update;dnf updateinfo list|info;dnf upgrade [--security|--exclude=...]
适用平台RHEL 8 及以上、CentOS Stream、Fedora、Rocky、Alma;CentOS 7 用 yum 同名子命令
安全性check-update 与 updateinfo 都是只读操作,可以放心在生产执行

典型使用场景

  • 变更窗口准备:提前评估本次可升级范围,识别是否需要停机
  • 安全整改:按公告编号筛选安全更新,优先补齐高危漏洞
  • 受控升级:只升级指定组件,避免基础库连带变更
  • 升级后核对:确认关键包版本已更新,并判断是否需要重启服务或重启系统
  • 回滚预案:升级前记录当前版本,必要时用版本锁定或快照回退

升级前的只读评估

升级前的只读评估
dnf check-update                                  # 列出可升级的包
dnf updateinfo list security                      # 只列安全相关更新
dnf updateinfo info RHSA-2026:0007                # 查看某条公告涉及哪些包
dnf repoquery --upgrades | head                   # 以更规整的格式列出可升级包
rpm -q --changelog openssl | head -n 20           # 看已装包的更新记录

按范围执行与升级后核对

按范围执行与升级后核对
dnf upgrade --security -y                # 只装安全更新(版本支持时)
dnf upgrade nginx -y                     # 只升指定包
dnf upgrade --exclude='kernel*' -y       # 本次不动内核
needs-restarting -r                      # 判断是否需要重启系统(dnf-utils 提供)
systemctl list-units --state=failed --no-pager   # 升级后看有没有服务起不来

子命令与方法对照

命令作用注意
dnf check-update列出可升级包只读,退出码 100 表示有更新可用
dnf updateinfo list security列安全更新依赖仓库提供公告元数据
dnf upgrade --security只装安全更新不同大版本支持情况不同,先确认
dnf upgrade --exclude=升级时排除包适合把内核等组件留到下个窗口
dnf distro-sync把包对齐到仓库当前版本可能降级或替换包,风险较高,谨慎使用
内核升级不会自动切换:新内核要重启后才生效,回退时在启动菜单里选择旧内核即可。因此内核升级通常单独安排窗口,并预留重启与验证时间。
云镜像常自带自动更新任务,可能与你的手工升级撞车,表现为拿不到包管理锁。动手前先确认有没有相关定时器在跑,避免两边同时改系统。

易错点

  • 直接执行全量升级不做评估:glibc、systemd、内核这类组件的连带影响需要单独考虑,先看 check-update 的范围
  • 忽略 check-update 的退出码语义:有可用更新时它返回非 0,脚本里当成失败处理会误报
  • 升级完不判断是否需要重启:库文件已更新但运行中的进程仍用旧版本,服务重启才能生效
  • 忘记云镜像的自动更新任务:两边同时操作会出现锁冲突与状态不一致

数据来源与参考

  • man 8 dnf(check-update/updateinfo)
  • Red Hat 安全公告流程

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌