Linux命令-rpmquery(RPM包查询工具)

发布时间:2026/7/15 9:22:53
Linux命令-rpmquery(RPM包查询工具) Linux命令-rpmqueryRPM包查询工具简介语法⚙️选项示例示例 1查询所有已安装包并过滤示例 2查询文件所属的 RPM 包示例 3查询包的详细信息和文件列表示例 4查询未安装的 RPM 包文件示例 5对比 rpm vs rpmquery vs yum/dnf info⚠️注意总结相关命令rpmquery 是 RPM 包管理器的查询前端工具功能等同于rpm -q用于查询已安装或未安装 RPM 包的各类信息。在 Red Hat/CentOS/Fedora 系统上是日常包管理中使用频率最高的命令之一。简介rpmquery 属于 rpm 软件包的一部分随rpm包一同安装。它本质上是对rpm -q命令的封装提供更直观的查询语法。在 RHEL/CentOS/Fedora 等基于 RPM 的发行版上默认可用。特性说明所属软件包rpm功能等价rpm -q适用发行版RHEL、CentOS、Fedora、openSUSE、Rocky Linux数据库路径/var/lib/rpm/普通用户可执行查询操作只读注意rpmquery 和rpm -q输出完全一致两者可互换使用。部分发行版可能不提供 rpmquery此时直接用rpm -q即可。语法rpmquery[选项][包名...]rpmquery[选项]-f文件路径 rpmquery[选项]-pRPM包文件⚙️选项选项说明-a列出所有已安装的包-f 文件查询指定文件属于哪个包-p 包文件查询未安装的 RPM 包文件-i显示包的详细信息-l列出包安装的所有文件-c仅列出配置文件-d仅列出文档文件-R列出包的依赖Requires--provides列出包提供的能力--requires同 -R列出依赖--whatrequires列出被哪些包依赖--changelog显示变更日志--scripts显示安装/卸载脚本--queryformat格式自定义输出格式--last按安装时间排序示例示例 1查询所有已安装包并过滤查找系统中所有已安装的内核相关包# 查询所有已安装包过滤包含 kernel 的rpmquery-a|grepkernel# 输出示例kernel-5.14.0-284.11.1.el9_2.x86_64 kernel-5.14.0-162.6.1.el9_0.x86_64 kernel-core-5.14.0-284.11.1.el9_2.x86_64 kernel-modules-5.14.0-284.11.1.el9_2.x86_64 kernel-devel-5.14.0-284.11.1.el9_2.x86_64统计系统已安装包的总数rpmquery-a|wc-l# 输出示例487按安装时间列出最近安装的 10 个包rpmquery-a--last|head-10# 输出示例openssl-3.0.7-6.el9_2.x86_64 Tue Jun1015:23:012025bash-5.2.15-2.el9.x86_64 Tue Jun1015:20:452025coreutils-9.0-6.el9.x86_64 Tue Jun1015:20:302025示例 2查询文件所属的 RPM 包当需要知道某个命令或配置文件来自哪个包时# 查询 /usr/bin/vim 属于哪个包rpmquery-f/usr/bin/vim# 输出示例vim-enhanced-9.0.1677-1.el9.x86_64# 查询某个库文件属于哪个包rpmquery-f/lib64/libc.so.6# 输出示例glibc-2.34-60.el9.x86_64# 查询某个命令的来源包连同版本信息rpmquery-f$(whichssh)# 输出示例openssh-clients-8.7p1-30.el9.x86_64注意如果文件不属于任何 RPM 包比如手动编译安装的rpmquery 将无输出。示例 3查询包的详细信息和文件列表查看 bash 包的详细信息rpmquery-ibash# 输出示例Name:bashVersion:5.2.15 Release:2.el9 Architecture: x86_64 Install Date: Tue10Jun202503:20:45 PM CST Group:Unspecified Size:9757488License:GPLv3 Signature:RSA/SHA256, Mon 01 May202508:00:00 AM CST, Key ID 199e2f91fd431d51 Source RPM:bash-5.2.15-2.el9.src.rpm Build Date:Mon 01 May202506:12:33 AM CST Build Host:x86-01.stream9.example.com Packager:CentOS Vendor:CentOS URL:https://www.gnu.org/software/bash Summary:The GNU Bourne Again shell Description:The GNU Bourne Again shell(Bash)is a shell orcommandlanguage interpreter that is compatible with the Bourne shell(sh). Bash incorporates useful features from the Korn shell(ksh)and the C shell(csh). Mostshscripts can be run bybashwithout modification.列出 bash 包安装的所有文件rpmquery-lbash# 输出示例/bin/bash /bin/sh /etc/skel/.bash_logout /etc/skel/.bash_profile /etc/skel/.bashrc /usr/bin/bashbug-64 /usr/share/doc/bash-5.2.15 /usr/share/doc/bash-5.2.15/CHANGES /usr/share/doc/bash-5.2.15/COPYING /usr/share/doc/bash-5.2.15/FAQ /usr/share/info/bash.info.gz /usr/share/man/man1/bash.1.gz仅列出配置文件rpmquery-cbash# 输出示例/etc/skel/.bash_logout /etc/skel/.bash_profile /etc/skel/.bashrc查询包的依赖关系rpmquery-Rbash# 输出示例/sbin/install-info libc.so.6()(64bit)libc.so.6(GLIBC_2.15)(64bit)libc.so.6(GLIBC_2.17)(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libdl.so.2()(64bit)libdl.so.2(GLIBC_2.2.5)(64bit)libreadline.so.8()(64bit)libtinfo.so.6()(64bit)rtld(GNU_HASH)示例 4查询未安装的 RPM 包文件在安装前检查一个 RPM 包的内容# 查看 RPM 包文件的信息不需要安装rpmquery-p/tmp/nginx-1.24.0-1.el9.ngx.x86_64.rpm# 输出示例nginx-1.24.0-1.el9.ngx.x86_64# 查看未安装包的详细描述rpmquery-ip/tmp/nginx-1.24.0-1.el9.ngx.x86_64.rpm# 输出示例Name:nginx Version:1.24.0 Release:1.el9.ngx Architecture: x86_64...示例 5对比 rpm vs rpmquery vs yum/dnf info对比项rpm -qrpmqueryyum/dnf info查询已安装包支持支持支持查询未安装包文件rpm -qprpmquery -p不支持查询远程仓库包不支持不支持支持需要网络否否是输出丰富度详细详细更详细执行速度快快较慢# 三种方式查询已安装的包——输出等价rpm-qbashrpmquerybash# 输出均为bash-5.2.15-2.el9.x86_64# dnf info 额外显示仓库来源和大小dnf infobash# 输出示例Installed Packages Name:bashVersion:5.2.15 Release:2.el9 Architecture:x86_64 Size:9.3M Source:bash-5.2.15-2.el9.src.rpm Repository:System⚠️注意rpmquery 查询的是本地 RPM 数据库不需要网络连接如果 RPM 数据库损坏/var/lib/rpm/查询可能失败需用rpmdb --rebuilddb修复-f选项查询的文件必须是由 RPM 安装的手动放置的文件无法追溯-p选项后面跟的是.rpm文件路径不是包名在 Ubuntu/Debian 系统上无此命令对应工具为dpkg -l、dpkg -S总结rpmquery 是 RPM 体系下最常用的包查询工具与rpm -q完全等价。掌握-a、-f、-i、-l、-R这几个核心选项即可覆盖日常 90% 的查询场景。查询未安装包用-p查配置文件用-c查文档用-d这些是排障时的利器。相关命令rpm— RPM 包管理器主命令rpmdb— RPM 数据库操作rpmverify— RPM 包完整性验证rpm2cpio— 从 RPM 包提取文件dnf/yum— 高级包管理器dpkg— Debian 系包查询工具