apt-cache policy、apt-cache show 和 apt-cache showpkg 之间有什么区别?

apt-cache policy、apt-cache show 和 apt-cache showpkg 之间有什么区别?

笔记:我发现QnA 解决apt-cache showv/s apt-cache showpkg,但找不到任何 QnA 解决所有三个选项(即 、 、 & )之间policyshow差异showpkg

例如,对于我的 Ubuntu 18.04 LTS 中的 Google Chrome,
输出为apt-cache policy google-chrome-stable

google-chrome-stable:
  Installed: 84.0.4147.105-1
  Candidate: 84.0.4147.135-1
  Version table:
     84.0.4147.135-1 500
        500 http://dl.google.com/linux/chrome/deb stable/main amd64 Packages
 *** 84.0.4147.105-1 100
        100 /var/lib/dpkg/status

命令输出apt-cache show google-chrome-stable

Package: google-chrome-stable
Version: 84.0.4147.135-1
Architecture: amd64
Maintainer: Chrome Linux Team <[email protected]>
Installed-Size: 228519
Pre-Depends: dpkg (>= 1.14.0)
Depends: 
.
.
Recommends: libu2f-udev, libvulkan1
Provides: www-browser
Priority: optional
Section: web
Filename: pool/main/g/google-chrome-stable/google-chrome-stable_84.0.4147.135-1_amd64.deb
Size: 69582256
SHA256: <sha256>
SHA1: <sha1>
MD5sum: <md5sum>
Description: The web browser from Google
 Google Chrome is a browser ... , and easier.
Description-md5: <md5>

Package: google-chrome-stable
Status: install ok installed
Priority: optional
Section: web
Installed-Size: 229295
Maintainer: Chrome Linux Team <[email protected]>
Architecture: amd64
Version: 84.0.4147.105-1
Provides: www-browser
Depends:
.
.
Pre-Depends: dpkg (>= 1.14.0)
Recommends: libu2f-udev, libvulkan1
Description: The web browser from Google
 Google Chrome is a browser ... , and easier.
Description-md5: <md5>

命令输出apt-cache showpkg google-chrome-stable

Package: google-chrome-stable
Versions: 
84.0.4147.135-1 (/var/lib/apt/lists/dl.google.com_linux_chrome_deb_dists_stable_main_binary-amd64_Packages)
 Description Language: 
                 File: /var/lib/apt/lists/dl.google.com_linux_chrome_deb_dists_stable_main_binary-amd64_Packages
                  MD5: <md5>
 Description Language: 
                 File: /var/lib/dpkg/status
                  MD5: <md5>

84.0.4147.105-1 (/var/lib/dpkg/status)
 Description Language: 
                 File: /var/lib/apt/lists/dl.google.com_linux_chrome_deb_dists_stable_main_binary-amd64_Packages
                  MD5: <md5>
 Description Language: 
                 File: /var/lib/dpkg/status
                  MD5: <md5>


Reverse Depends: 
  goopg,google-chrome-stable
Dependencies: 
.
.
Provides: 
84.0.4147.135-1 - www-browser (= ) 
84.0.4147.105-1 - www-browser (= ) 
Reverse Provides: 

因此,除了这三者之间的区别之外,我的其他疑问是:

  1. 我什么时候应该使用哪一个?

  2. 对于policy&showpkg选项,为什么它显示两个不同的版本,即84.0.4147.105-1& 84.0.4147.135-1?此外,它们都正在按正确的顺序打印。另一方面,对于show选项,它提供了有关的详细信息84.0.4147.135-1,稍后将详细介绍84.0.4147.105-1。但是,细节的数量以及细节之间的顺序是不同的。为什么?

  3. showshowpkg选项中,大部分细节都是两次。为什么?

  4. 当我检查我的 Google Chrome 版本时,google-chrome-stable --version显示了Google Chrome 84.0.4147.105。那么,为什么我在使用上述三个选项84.0.4147.135时会得到同样的结果呢?apt-cache

答案1

差异描述于man apt-cache。总之:

  • policy显示所有存储库或作为参数给出的包的优先级;
  • show显示主要包信息(控制文件中的所有信息,不依赖任何外部信息);
  • showpkg显示正向和反向依赖性。
  1. 您应该使用提供您想要的信息的命令。policy例如,可用于确定哪些版本可用以及为什么可能或可能不安装它们。

  2. 所有命令显示有关所有可用版本的信息:当前安装的版本(如果有)和存储库中的版本(截至最后一个apt update)。

  3. 由于有两个版本可用,因此重复了详细信息。

  4. 当前安装的版本是 105,但可以从存储库中获取 135。policy显示 135 作为候选,因此下次升级将尝试安装它。

相关内容