dpkg-query vs apt-cache:不同的包列表?

时间:2015-08-02 04:44:00

标签: ubuntu apt dpkg

我注意到一个有趣的现象,我正在寻找解释。在我的Ubuntu 15.10(alpha)系统上,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 个答案:

答案 0 :(得分:2)

dpkg-query主要用于处理系统上存在的包(包括各种状态的包,从已安装,未包装到已删除但尚未清除的包),或包含选择的包,例如标记为安装的未安装包。清除包而不进行任何选择的包将从dpkg 状态文件中进行垃圾收集,默认情况下不会由dpkg-query显示。您仍然可以要求它使用--load-avail选项显示存储库中的可用包,只要您的可用文件是最新的,这也会产生良好的效果。有关如何执行此操作的详细信息,请参阅此FAQ条目。

apt-cache旨在用于已配置的apt存储库中的已安装软件包和软件包,与其他可能的dpkg前端相比。