Linux各发行版需用对应包管理命令查已安装软件:Debian/Ubuntu用dpkg -l或apt list --installed;RHEL/CentOS/Fedora用rpm -qa或dnf/yum list installed;Arch用pacman -Q;通用法可读/var/lib/dpkg/status或/var/lib/rpm。

如果您在 Linux 系统中需要确认已安装的软件包列表,不同发行版采用的包管理工具不同,因此需根据系统类型选择对应命令。以下是适用于主流发行版的多种查询方法:
一、基于 Debian/Ubuntu 的系统(使用 apt)
Debian 及其衍生发行版(如 Ubuntu、Linux Mint)使用 apt 作为默认包管理器,其软件包数据库由 dpkg 维护,可通过 dpkg 或 apt 工具列出已安装包。
1、使用 dpkg 列出所有已安装的软件包(含状态信息):
dpkg -l
2、仅显示已安装包的名称(过滤掉未安装或半配置状态):
dpkg -l | grep '^ii' | awk '{print $2}'
3、使用 apt list 命令列出所有已安装包(包括自动安装依赖):
apt list --installed
4、仅显示用户显式安装的包(排除自动安装的依赖):
apt list --installed | grep '\[installed\]' | grep -v '\[automatic\]'
二、基于 RHEL/CentOS/Fedora 的系统(使用 rpm 或 dnf/yum)
RHEL 系列系统使用 RPM 包管理器,现代版本(Fedora 22+、RHEL 8+、CentOS Stream)默认使用 dnf,旧版(CentOS 7、RHEL 7)使用 yum,二者均兼容 rpm 数据库。
1、直接查询 RPM 数据库中的全部已安装包:
rpm -qa
2、按字母顺序排序并分页查看:
rpm -qa | sort | less
3、使用 dnf 列出所有已安装软件包(推荐用于 Fedora/RHEL 8+):
dnf list installed
4、使用 yum 列出所有已安装软件包(适用于 CentOS 7/RHEL 7):
yum list installed
三、基于 Arch Linux 及其衍生版(使用 pacman)
Arch Linux 使用 pacman 作为官方包管理器,其本地数据库完整记录所有通过 pacman 安装的软件包(不含 AUR 手动编译安装的包)。
1、列出所有通过 pacman 安装的已安装包:
pacman -Q
2、仅列出显式安装的包(排除作为依赖自动安装的包):
pacman -Qe
3、列出所有作为依赖安装的包:
pacman -Qd
4、列出所有已安装但不再存在于官方仓库的包(可能已弃用或移除):
pacman -Qm
四、通用方法:检查 /var/lib/dpkg/status(Debian/Ubuntu)或 /var/lib/rpm(RHEL 系列)
这些路径是各发行版包管理器的底层数据库存储位置,可直接读取原始状态文件,但需注意权限与格式解析难度。
1、查看 dpkg 状态文件前 20 行以确认结构(需 root 权限读取完整内容):
head -n 20 /var/lib/dpkg/status
2、统计已安装包总数(Debian/Ubuntu):
grep -c "^Status: install ok installed$" /var/lib/dpkg/status
3、检查 RPM 数据库完整性(RHEL/CentOS/Fedora):
rpm --verify --all
4、列出 RPM 数据库中所有包名(等效于 rpm -qa,但绕过命令行解析):
rpm -qa --qf '%{NAME}\n'
五、跨发行版兼容性方法:使用 package-query(Arch)或 aptitude(Debian)等增强工具
部分第三方工具提供更灵活的查询能力,例如支持正则匹配、字段筛选、依赖图谱等,但需预先安装。
1、在 Arch 上安装 package-query 并列出所有包(含 AUR 标识):
sudo pacman -S package-query
package-query -A
2、在 Debian/Ubuntu 上安装 aptitude 并启用交互式包浏览:
sudo apt install aptitude
aptitude search '~i'
3、使用 aptitude 搜索已安装且名称含关键词的包(例如含 “nginx”):
aptitude search '~i nginx'
4、在支持 snap 的系统上列出所有已安装的 snap 包:
snap list










