为什么“apt list --all-versions”显示的包比“dpkg -l”多?

为什么“apt list --all-versions”显示的包比“dpkg -l”多?

根据man apt

list (work-in-progress)
   list is somewhat similar to dpkg-query --list in that it can display a 
   list of packages satisfying certain criteria. It supports glob(7) 
   patterns for matching package names as well as options to list 
   installed (--installed), upgradeable (--upgradeable) or all
   available (--all-versions) versions.

但至少在两种情况下hunspell(见https://askubuntu.com/a/1036619/248158对于输出)和libreofficeapt list --all-versions列表要长得多:

apt list --all-versions | grep -E "^hunspell"
apt list --all-versions | grep -E "^libreoffice"

导致点击次数远高于

dpkg -l hunspell*
dpkg -l libreoffice*

dpkg-query --list给出与 相同的输出dpkg -l。)

答案1

dpkg只能提供其所知道的信息,这些信息仅限于已dpkg应用某些操作的软件包和版本。

apt另一方面, 包含更多信息 - 它包括从存储库获取的软件包列表中的所有内容。显然,dpkg大多数可用软件包和版本不太可能已执行操作,因此 的输出当然dpkg-query不包括这些,因此是有限的。

相关内容