我注意到一个有趣的现象,我正在寻找解释。在我的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
不可见?
答案 0 :(得分:2)
dpkg-query
主要用于处理系统上存在的包(包括各种状态的包,从已安装,未包装到已删除但尚未清除的包),或包含选择的包,例如标记为安装的未安装包。清除包而不进行任何选择的包将从dpkg
状态文件中进行垃圾收集,默认情况下不会由dpkg-query
显示。您仍然可以要求它使用--load-avail
选项显示存储库中的可用包,只要您的可用文件是最新的,这也会产生良好的效果。有关如何执行此操作的详细信息,请参阅此FAQ条目。
apt-cache
旨在用于已配置的apt
存储库中的已安装软件包和软件包,与其他可能的dpkg
前端相比。