首页/系统/Linux 运维命令速查/DNF/YUM 软件组安装

DNF/YUM 软件组安装

软件组把一组包(如开发工具、GNOME)打包安装:group list 看清单、group install 一把装,比逐包拼清单省事。

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

DNF/YUM 软件组是什么

软件组把一组相关包聚合到一个名字下,例如开发工具或桌面环境;用 group list 看清单、group install 一次装好,比逐个拼包名省事。编译源码的机器安装开发工具组是常规操作,但在最小化原则下,生产机不宜整套铺开。

基本信息

用途按组安装常用软件集合
语法dnf group list / install / remove
旧语法yum groupinstall、yum grouplist 仍可用
组内结构区分必装包与可选包

典型使用场景

  • 一次性装齐编译环境所需的工具链
  • 新机器按角色成套安装软件
  • 核对某个组到底包含哪些包
  • 控制安装范围,只装必装项不含可选
  • 卸载整套软件组做环境清理
  • 迁移到 DNF 后沿用旧的组管理习惯

常用示例

常用示例
dnf group list                       # 列出各组与状态
sudo dnf group info 'Development Tools' | head -n 30   # 查看组内容
sudo dnf group install 'Development Tools'             # 安装必装项
sudo dnf group install --with-optional 'Development Tools'   # 含可选包
sudo yum groupinstall 'Development Tools'               # 旧语法,仍可用
dnf history | head                   # 确认变更记录
sudo dnf group remove 'Development Tools'               # 卸载整组

用法对照

命令作用说明
group list列出软件组区分已安装与可用
group info查看组内容确认必装与可选包
group install安装整组默认只装必装项
--with-optional包含可选包安装量明显增加
group remove卸载整组注意共享依赖的处理
组名里带空格时必须加引号;不同发行版的组名并不通用,Ubuntu 系使用 tasksel 体系,脚本里不要硬编码组名。
卸载软件组会连带处理组内共享依赖,可能带走其它需要的东西:生产环境执行前先核对影响范围。
按最小化原则,生产机只应安装必要组件;开发工具组适合构建机与调试环境,不建议直接铺到线上。
组内包清单会随版本更新而变化:跨机器按组安装前先用 group info 对比具体包列表,可以避免环境之间出现意料之外的差异。
用 dnf history 能确认这次组安装实际装入了哪些包,卸载或排障时这份记录比组名更有参考价值。

易错点

  • 组名不加引号:命令解析出错,误以为是仓库或网络问题
  • 跨发行版硬编码组名:Ubuntu 系没有同名组,脚本直接失败
  • 在生产机上安装整个开发工具组:引入大量非必要包,攻击面与维护成本上升
  • 卸载软件组不评估影响:共享依赖被一起移除,其它软件随即异常

数据来源与参考

  • dnf 官方文档:group 命令
  • RHEL 文档:installing software groups

相关工具

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