Debian:查找已安装软件包的存储库

Debian:查找已安装软件包的存储库

在具有大量不同源存储库的旧版 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 名称不匹配。

相关内容