在具有大量不同源存储库的旧版 Debian 机器上/etc/apt/sources.list.d/,我想找到每个已安装的软件包,它从哪个仓库安装。我想编写脚本输出apt-cache 策略,但在此之前我必须更清楚地理解这个输出。
我发现了一些我不知道如何解释的事情:
# apt-cache policy apache2
apache2:
Installed: 2.2.22-13+deb7u8
Candidate: 2.2.22-13+deb7u12
Version table:
2.2.22-13+deb7u12 0
500 http://security.debian.org/ wheezy/updates/main amd64 Packages
*** 2.2.22-13+deb7u8 0
100 /var/lib/dpkg/status
2.2.22-13+deb7u6 0
500 http://cloudfront.debian.net/debian/ wheezy/main amd64 Packages
这是否意味着当前安装的版本(带有 *** 的版本)是从/var/lib/dpkg/状态?这是否意味着需要从/var/lib/dpkg/状态?
在类似主题中我可以找到的例子中,如果标有 *** 的部分有一行/var/lib/dpkg/状态优先级 100,它还有另一行带有 http repo 和优先级 500,我想这意味着该包是从这个优先级 500 repo 安装的。
但就我而言,apache2 软件包是从哪个 repo 中安装的?由于我们可以看到提出了一个新版本(repo security.debian.org),这是否意味着软件包是从这个 repo 安装的,但由于有可用的更新,该行已从 *** 部分中删除,这就是为什么只有一行/var/lib/dpkg/状态?
或者也许这一行/var/lib/dpkg/状态repo 是否意味着它是从已从 sources.list.d 文件中删除的 repo 安装的?
编辑(针对该帖子的第一条评论):
# apt-cache showpkg apache2
Package: apache2
Versions:
2.2.22-13+deb7u12 (/var/lib/apt/lists/security.debian.org_dists_wheezy_updates_main_binary-amd64_Packages)
Description Language:
File: /var/lib/apt/lists/cloudfront.debian.net_debian_dists_wheezy_main_binary-amd64_Packages
MD5: d24f049cd70ccfc178dd8974e4b1ed01
Description Language: en
File: /var/lib/apt/lists/cloudfront.debian.net_debian_dists_wheezy_main_i18n_Translation-en
MD5: d24f049cd70ccfc178dd8974e4b1ed01
2.2.22-13+deb7u8 (/var/lib/dpkg/status)
Description Language:
File: /var/lib/apt/lists/cloudfront.debian.net_debian_dists_wheezy_main_binary-amd64_Packages
MD5: d24f049cd70ccfc178dd8974e4b1ed01
Description Language: en
File: /var/lib/apt/lists/cloudfront.debian.net_debian_dists_wheezy_main_i18n_Translation-en
MD5: d24f049cd70ccfc178dd8974e4b1ed01
2.2.22-13+deb7u6 (/var/lib/apt/lists/cloudfront.debian.net_debian_dists_wheezy_main_binary-amd64_Packages)
Description Language:
File: /var/lib/apt/lists/cloudfront.debian.net_debian_dists_wheezy_main_binary-amd64_Packages
MD5: d24f049cd70ccfc178dd8974e4b1ed01
Description Language: en
File: /var/lib/apt/lists/cloudfront.debian.net_debian_dists_wheezy_main_i18n_Translation-en
MD5: d24f049cd70ccfc178dd8974e4b1ed01
这个输出让我感到困惑:版本旁边的 repo 名称与文件部分的 repo 名称不匹配。