如何在Red Hat/CentOS 8中查询软件包组的所有包及依赖列表
方法1:直接模拟安装流程获取完整列表
你可以直接在原有命令基础上替换参数,DNF会走完依赖解析全流程,但不会执行下载或安装操作:
dnf groupinstall --assumeno core
输出内容会完整包含:
- core软件包组自带的所有软件包
- 上述软件包所需的全部依赖包
- 每个包的版本、架构等信息
如果需要提取干净的纯包名列表,可搭配简单的文本过滤:
dnf groupinstall --assumeno core | awk '/^Install/ {flag=1; next} /^Transaction Summary/ {exit} flag && NF {print $1}' | sort -u
方法2:使用repoquery命令轻量查询
如果只需要依赖列表不需要事务相关信息,可以用DNF自带的repoquery工具查询:
# 先查询core组包含的所有一级包,再递归查询所有依赖包并去重 dnf repoquery --groupmember core | awk '{print $1}' | xargs dnf repoquery --requires --recursive --resolve | sort -u
如果运行时提示repoquery命令不存在,可先执行dnf install dnf-plugins-core安装插件包即可。
注意:两种方式输出的结果和你之前用
--downloadonly得到的包列表完全一致,差异仅为不会实际下载RPM文件到本地。
内容的提问来源于stack exchange,提问作者BTR Naidu
相关产品推荐
相关产品推荐

