首页/系统/信创系统运维速查/dnf 卸载与依赖清理
命令与包管理65 条

dnf 卸载与依赖清理

卸载软件包并检查残留:dnf remove 自动处理依赖关系,remove 后用 autoremove 清理孤儿依赖,注意别误删系统基础组件。

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

dnf remove 的作用

dnf remove 用于卸载已安装的 RPM 包,并在同一次事务里处理依赖:只被该包需要的组件会一起移除,仍被其他包需要的依赖会保留。它适用于 openEuler、银河麒麟服务器版、统信 UOS 服务器版等 RPM 系发行版,DEB 系对应的是 apt remove。卸载只改包管理数据库的记录,用户在该目录下手工新增的配置文件通常不会跟着删除。

基本信息

适用平台openEuler / Kylin / UOS 服务器版(RPM 系)
基本语法dnf remove <包名>(可一次写多个)
权限要求root 或 sudo
常用参数-y 免确认;--noautoremove 不动依赖
回滚手段dnf history undo <事务号>

典型使用场景

  • 替换服务实现:先卸掉系统自带版本,再装自编译或第三方包
  • 最小化整改:清掉不需要的服务端软件,如 telnet-server、rsh
  • 空间回收:卸载占空间大的旧内核与旧驱动包
  • 解决依赖冲突:卸载冲突包后再安装正确版本
  • 环境清理:移除测试机上临时安装的压测与调试工具

卸载与检查

卸载与检查
dnf remove -y nginx                  # 卸载软件包,自动处理依赖
dnf autoremove -y                    # 清理不再被依赖的孤儿包
rpm -qa | grep nginx                 # 确认包记录已消失
dnf history list | head              # 出问题可回滚对应事务
ls /etc/nginx 2>/dev/null            # 检查配置目录是否残留
dnf list installed | wc -l           # 核对已装包数量变化

卸载确认页怎么看

字段含义要关注什么
Removing本次要删除的包清单出现 glibc、systemd 等基础包立即中断
Removing dependent packages因依赖被连带删除的包确认没有业务组件在内
Transaction Summary删除与更新数量汇总数字明显超出预期时重新评估
Is this ok等待确认的交互点不要盲敲 -y,先看完清单
待删清单里若包含系统基础包(glibc、systemd、内核相关包),立即中断并排查是谁把它们标成了弱依赖。
卸载后服务配置与数据目录常残留(如 /etc/nginx、/var/lib/mysql);复装前先评估旧配置与旧数据的影响,必要时备份后再手工清理。

易错点

  • 看见清单就按 y:连带删除的依赖里可能有业务组件,卸载前用 rpm -q --whatrequires 反查谁还在用它
  • 误卸基础库导致系统命令大面积失效时,不要用 dnf install 硬补,优先 dnf history undo 回滚那次事务
  • 卸载不等于清干净:/etc 与 /var/lib 下的残留会在复装时被新版本读取,升级前先备份
  • autoremove 会顺带删掉手动装但未被依赖的包,批量执行前先用 dnf autoremove --assumeno 预览

数据来源与参考

  • dnf remove 手册
  • openEuler 包管理指南
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌