首页/系统/信创系统运维速查/dnf 系统更新与安全补丁
命令与包管理65 条

dnf 系统更新与安全补丁

dnf upgrade 升级全部可更新包(含内核),updateinfo 查看安全公告状态;信创环境常按安全补丁类型单点更新,而非整机升级。

信创系统运维速查系统更新于 2026-10-13

系统更新与安全补丁

dnf 的更新能力分三个层次:全量升级把所有可更新包升到源里的最新版本,单包升级只动指定软件,按安全通告升级则只装标记为安全类的补丁。信创环境的常见做法是保守路线——先看清有哪些可更新项和安全公告,再按最小必要范围升级,避免一次整机升级把内核与系统库一起换掉。无论走哪条路线,升级前都要确认有测试验证或快照回退手段,升级后核对服务与内核是否需要重启。

基本信息

全量升级dnf upgrade 或 dnf update
单包升级dnf upgrade 包名
仅安全补丁dnf upgrade --security
查可更新项dnf check-update
看安全公告dnf updateinfo list --security
变更回退dnf history 查看并按事务回退
适用平台openEuler / Kylin V10 服务器版 / UOS 服务器版

典型使用场景

  • 定期补丁维护:按安全公告清单只打安全类补丁,控制变更范围
  • 修复单个组件漏洞:单独升级相关软件包,避免牵动整套系统
  • 升级前评估:先列出可更新项与公告,判断影响面再决定窗口
  • 回退准备:升级前记录事务号与关键包版本,出问题可定位
  • 内核更新后收尾:确认是否需要重启,并核对引导项
  • 审计留痕:把每轮升级的范围与结果记录归档

更新流程示例

更新流程示例
dnf check-update                        # 列出可更新项,不改动系统
dnf updateinfo list --security          # 单独看安全类公告
dnf upgrade -y --security               # 只装安全类补丁
dnf upgrade -y nginx                    # 只升指定包
dnf history list | head                 # 记录本次事务号,便于回退
dnf history info last                   # 查看最近一次事务的明细

更新方式对照

方式命令要点适用与风险
全量升级升级所有可更新包影响面最大,生产前需测试
单包升级指定包名范围最小,适合修单个漏洞
仅安全补丁按安全标记过滤常用于合规维护窗口
查看可更新只列出不执行变更评审前的必做动作
查看公告输出安全公告清单判断优先级与影响范围
回退变更按事务号回退需要源中仍存在旧版本
内核与系统库升级后通常需要重启才能生效,升级完成不等于补丁已生效。重启前确认引导项与业务自启状态,并确认旧内核仍保留,必要时可以临时选旧内核回退。
升级是成批事务:中途断网或被中断可能留下未完成状态,恢复后先做一次事务检查再继续。部分发行版提供由 dnf-plugins-core 携带的重启判定插件,可用来辅助判断是否需要重启;是否可用取决于发行版与是否安装该插件,不能想当然。

易错点

  • 把「升级完成」当成「补丁生效」,内核升级后不重启,漏洞实际仍处于未修复状态
  • 生产机上直接做全量升级,连带替换系统库与新内核,业务兼容性未经验证,重启后服务起不来
  • 批量升级过程中网络中断,事务中断留下不完整状态,后续装包频繁报错
  • 升级前不记录事务号与关键包版本,出问题后无法快速定位是哪一批变更引入的

数据来源与参考

  • dnf upgrade 文档
  • openEuler 安全公告说明
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌