rpm -qi 用于查看已安装rpm包信息,apt-cache show 用于查看debian系统可用包信息。1. rpm -qi 查已安装包详情,如版本、安装时间;apt-cache show 查未安装包描述、依赖等。2. rpm -qi 显示安装来源和时间,apt-cache show 关注包功能与维护者。3. rpm -qi 限于rpm系统且需已安装,apt-cache show 适用于debian系统且无需安装。4. 其他实用命令:rpm -qa/dpkg -l 查所有包,rpm -qf/dpkg -s 查文件所属包,rpm -ql/dpkg -l 查包安装路径。

在Linux系统中,查询软件包信息是运维和日常使用中的常见需求。如果你用的是基于RPM的系统(比如CentOS、Fedora)或基于Debian的系统(比如Ubuntu),就会接触到两个常用命令:rpm -qi 和 apt-cache show。它们虽然功能类似,但适用场景和输出内容有明显区别。

下面我们就从几个实际需求出发,对比这两个命令的用途和特点。
1. 基本用途:查已安装 vs 查可用包
-
rpm -qi 包名:用于查看已安装的RPM包的详细信息,比如版本、发布者、安装时间、依赖关系等。 -
apt-cache show 包名:用于查看APT仓库中某个包的信息,包括未安装的版本,适用于Debian系系统。
举个例子:

- 如果你已经安装了
httpd,可以用rpm -qi httpd看它具体是从哪个源装的、什么时候装的。 - 而在Ubuntu上,即使你没装
nginx,也可以用apt-cache show nginx查看它有哪些版本、需要哪些依赖。
所以简单来说:
rpm -qi 是“我装了什么”,apt-cache show 是“我能装什么”。
2. 输出内容差异:侧重不同,各有重点
两者的输出信息侧重点不一样,适合不同的排查场景。
rpm -qi 输出示例:
Name : httpd Version : 2.4.6 Release : 99.el7.centos Architecture: x86_64 Install Date: 2023-08-15 14:32:10 Group : System Environment/Daemons Size : 983040
可以看到,它主要告诉你这个包是什么时候装的、装在哪、来源是哪个仓库等。
apt-cache show 输出示例:
Package: nginx Version: 1.18.0-0ubuntu1 Priority: optional Section: web Maintainer: Ubuntu DevelopersDepends: libc6 (>= 2.14), zlib1g (>= 1:1.2.3.3) Description: high performance web server ...
它更关注包的描述、维护者、依赖项、支持平台等,适合你在安装前了解这个包是否满足你的需求。
所以,如果你想确认某个服务是不是你自己装的、有没有被替换过,用 rpm -qi 更合适;如果想提前看看某个包的说明、版本特性,用 apt-cache show 更方便。
3. 适用系统与安装状态限制
-
rpm -qi只能在 RPM 包管理器的系统(如 CentOS、Fedora)上使用,而且必须包已经安装才能看到信息。 -
apt-cache show是 APT 工具的一部分,只适用于 Debian/Ubuntu 系统,且不需要安装包本身就可以查到。
这意味着:
- 在 CentOS 上查一个还没装的包?用不了
rpm -qi。 - 在 Ubuntu 上查一个已装包的安装时间?
apt-cache show不提供这些。
如果你不确定系统类型,可以试试 cat /etc/os-release 来判断是哪类系统。
4. 实用建议与替代工具
虽然 rpm -qi 和 apt-cache show 是最基础的查询方式,但在某些情况下可能不够用:
-
想要查所有已安装的包列表?
- CentOS:
rpm -qa - Ubuntu:
dpkg -l
- CentOS:
-
想查某个文件属于哪个包?
- CentOS:
rpm -qf /path/to/file - Ubuntu:
dpkg -S /path/to/file
- CentOS:
-
想找包里的文件都装在哪?
- CentOS:
rpm -ql 包名 - Ubuntu:
dpkg -L 包名
- CentOS:
这些命令配合使用,能让你更快定位问题。
基本上就这些。两个命令各有用途,关键在于你要知道当前系统类型和你想查的内容是什么。掌握好这点,就能快速找到需要的软件包信息了。










