在Ubuntu上怎么查看安装了哪些包?

[复制链接]
发表于 2026-10-6 10:04:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

装系统的时候会勾一堆包,装完之后想起来"那时候到底装了什么",或者排查问题时需要确认某个库在不在,就得会查。Ubuntu 下查已安装的软件包其实就两条路:dpkg 和 apt。两者关注的口径不一样,配合 grep 过滤,基本能覆盖绝大多数场景。

dpkg --list:看全部已装包

dpkg 是 Debian 系最底层的包管理工具,直接读本机数据库,不联网。dpkg --list 会列出系统里全部已安装的软件包,包含名称、版本号、架构和简要描述:

dpkg --list

输出大概长这样,三列主信息分别是"期望状态 / 当前状态 / 错误状态",后面才是包名:

ii  qemu-common  2:6.2.0-4ubuntu6.3  all  QEMU common files

ii 里的第一个 i 表示期望安装,第二个 i 表示当前已安装,看到 ii 就是正常的已装状态。

配合 grep 做过滤

dpkg --list 一屏刷下来几百上千行,真正要找的往往就几个。用 grep 按关键字拦一下:

dpkg --list | grep qemu

这样只会输出包名里带 qemu 的条目,也就是所有名称包含 qemu 的软件包。想找其他组件,把 qemu 换成关键字即可,比如 grep nginx、grep python3。

如果记得包名但不确定全称,可以用 dpkg -l 加通配符:

dpkg -l 'qemu*'

apt list --installed:从源的角度看

apt 是更高一层,负责仓库索引和依赖解析。apt list --installed 列出的是"通过包管理器安装的、当前处于已装状态"的包:

apt list --installed

同样可以过滤:

apt list --installed | grep qemu

两种列法的结果会有细微差别:

  • dpkg 看的是本机状态库,手工解压塞进去的包它也算(只要写进了 status 文件);
  • apt 看的是仓库视角,能顺带标出"这是手工装的还是从源里装的"([installed] / [installed,automatic])。

排查"这玩意儿到底谁给我装上的"时,apt 这条线更有用;确认"机器上到底有没有这个二进制"时,dpkg 更直接。

确认某个文件属于哪个包

很多时候你手上是一个路径,比如 /usr/bin/sshpass,想知道它来自哪个包,用这条:

dpkg -S /usr/bin/sshpass

# 反向查:某个包装了哪些文件
dpkg -L 包名

前者是"文件找归属",后者是"包找文件",两个方向配合着用效率最高。

要不要加 sudo

查询类命令一般不需要 root,直接跑就行。需要注意的是,以普通用户身份执行 apt list --installed 和 dpkg --list 输出是一样的,但某些环境下 apt 会提示"以 root 运行可获得更完整信息",此时前面加 sudo 即可:

sudo dpkg --list | grep 关键字
sudo apt list --installed | grep 关键字

反正这两条都是只读操作,加 sudo 不会带来副作用。

两个高频实用组合

把上面几招串起来,就是日常排查的两个常用套路:

  1. 确认某个组件装没装:dpkg --list | grep 关键字,命中 ii 即为已装。
  2. 看清一个包的来龙去脉:apt-cache policy 包名 看版本和源,dpkg -L 包名 看装了哪些文件,apt-cache show 包名 看依赖。

顺带一提,如果是要看装了哪些包、方便以后复现环境,那是用 dpkg --get-selections 导出清单、在新机器上 dpkg --set-selections 导入的路子,和上面"临时查一下"不是一回事。真要做环境漂移的团队,建议上配置管理(Ansible / puppet)而不是靠导包清单。

qidao123.com企服评测-应用市场 编辑提示

本文由齐道123 IT 运维社区整理,汇总 Ubuntu / Debian 下查询已安装软件包的常用命令与组合。文中命令均为只读查询,可放心在自有服务器上执行;涉及安装、升级、卸载的操作请另行确认后再进行。dpkg 与 apt 的输出口径存在差异,排查问题时应结合两者结果判断。

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表