apt-cache pkgnames 和 dpkg --list 有什麼不同?

apt-cache pkgnames 和 dpkg --list 有什麼不同?

看完之後這個問題,我仍然對另外兩個命令感到困惑,即apt-cache pkgnamesdpkg --listapt-cache pkgnames不傳回與apt list另一個問題中提到的命令相同的清單。你能告訴我這三者有什麼不同嗎?

答案1

apt-cache pkgnames專為製表符補全而設計:它快速產生apt系統主架構中已知的所有套件名稱的清單(無論是已安裝、遠端可用,還是只是在某些其他套件的關係中提及)。它不適合人類直接使用,並且不會花費太多時間進行過濾,因此它列出了其他命令不一定顯示的套件(例如虛擬包)。

dpkg --list列出所有已知的軟體包dpkg,以及它們的狀態、描述和版本;dpkg不知道遠端軟體包,因此這主要列出了已安裝或刪除(但未清除)的軟體包。

apt list列出所有已知的軟體包apt,以及它們所在的儲存庫、它們是否已安裝、可用版本以及它們是否可升級。它與 共享相同的基本軟體包列表apt-cache pkgnames,但它包括任何配置的體系結構;例如,在典型的多體系結構amd64/i386設定中,apt-cache pkgnames不會列出i386-only 軟體包,但apt list會。

dpkg --listapt list支援各種選項和過濾器來限制它們顯示的內容。

相關內容