Linux 命令速查
软件包 man repoquery

repoquery

从 YUM/DNF 仓库元数据中查询软件包信息。

返回

补充说明

repoquery 最初是 yum-utils 套件中的工具,后来被 DNF 接管为 dnf repoquery。它只查询仓库元数据,不安装软件包,适合在安装前确认版本、依赖、文件列表和提供者,在 RHEL/CentOS/Fedora 系上非常常用。

它支持本地已安装包和远程仓库两类数据源:默认查询所有可用包,--installed 只看已安装,--available 只看未安装。常用场景包括查某个文件属于哪个包(-f)、某包依赖了什么(--requires)、哪些包依赖它(--whatrequires)、以及包内包含哪些文件(-l)。

注意 RHEL 8 起 yum 已指向 DNF,旧的 repoquery 命令可能不再安装,应改用 dnf repoquery;DNF5 中部分选项有调整。使用前确保仓库元数据已缓存(dnf makecache),否则可能看到过期结果。

语法

repoquery [选项] [包名...]
dnf repoquery [选项] [包名...]

选项

  • -l, --list:列出包内文件
  • -i, --info:显示包的基本信息
  • -f, --file <路径>:查询文件所属的包
  • --requires:显示依赖
  • --provides:显示提供的 capability
  • --whatrequires:显示依赖该包的包
  • --resolve:解析依赖到具体包
  • --installed / --available:限定数据源
  • -a, --all:匹配所有包
  • --tree-requires:以树形展示依赖

实例

# 查询仓库中 nginx 的版本与仓库来源
dnf repoquery -i nginx

# 查看包内包含哪些文件
dnf repoquery -l nginx

# 查询某个命令由哪个包提供
dnf repoquery -f /usr/sbin/nginx

# 查看包的依赖关系树
dnf repoquery --tree-requires httpd

# 找出哪些包依赖 openssl-libs
dnf repoquery --whatrequires openssl-libs

# 只查已安装的包
dnf repoquery --installed -a 'kernel*'

# 刷新元数据后再查询,避免使用过期缓存
sudo dnf makecache

参考链接