我使用 apt-cache pkgname 将包检索为
me@host:~$ apt-cache pkgnames | wc -l
62803
得到 62803 个结果
但
me@host:~$ dpkg -l | wc -l
2336
导致如此巨大差异的原因是什么。我认为 dpkg 比 apt 超级好。
我使用 apt-cache pkgname 将包检索为
me@host:~$ apt-cache pkgnames | wc -l
62803
得到 62803 个结果
但
me@host:~$ dpkg -l | wc -l
2336
导致如此巨大差异的原因是什么。我认为 dpkg 比 apt 超级好。
apt
用于管理远程存储库,dpkg
- 用于本地安装的包。他们是相关的。apt
是前端dpkg
。当您运行apt-get install package
它时,它会获取.deb
文件,并通过dpkg
. 所以数字不同,因为有很多可用的软件包,但只有一小部分安装在您的系统本地。apt-cache
可以显示已安装和未安装的软件包,因为它查询apt
缓存 - 远程存储库中可用内容的列表(该缓存是您执行时获得的内容apt-get update
)。例如,请注意,还有另一个工具可以查询已安装/已删除的本地软件包列表,那就是
dpkg-query
. 例如,根据dpkg 手册
就目前
dpkg-query
而言,应该注意的是,该工具专注于查询已安装软件包的数据库,并且可以以特定格式(-f
选项加-W
动作)输出信息。例如,有趣的是,dpkg 数据库维护着选择删除或在某个时间点被删除的软件包列表。
dpkg-query
也可以将 glob 模式作为参数,并根据是否存在仅显示已安装/配置的包或所有包。dpkg -l 显示您已安装的软件包版本(以 ii 开头)、已删除的软件包版本 (rc) 和其他一些版本(例如已安装但未配置,请参阅手册页)。
apt-cache pkgnames 向您显示添加的存储库中所有可用的软件包名称(但不是同一软件包的版本)。