dpkg-query 与 apt-cache

dpkg-query 与 apt-cache

我注意到一个有趣的现象,正在寻找解释。在我的 Ubuntu 系统上,dpkg-query无法找到一些可以找到的未安装软件包apt-cache。例如,

dpkg-query -l libssl-dev

给我:

dpkg-query: no packages found matching libssl-dev

尽管:

apt-cache show libssl-dev

查找软件包信息。同时,dpkg-query可以找到其他未安装的软件包,例如 gimp 并显示其状态为已卸载。为什么有些软件包不可见dpkg-query

答案1

基本上,dpkg-query向您显示系统上安装了什么,甚至显示已安装在系统上但在某个时候被删除的软件包。

有趣的是,如果一个包使用了另一个包的依赖项,dpkg则可能会将它们列为已安装,即使其中一个包从未在系统上完全安装。

apt用于从 sources.list 和 sources.d/* 目录中定义的存储库下载包。

换句话说,apt-cache显示系统上“可以安装”的软件包,而不是已经安装/卸载的软件包。

相关内容