列出所有没有二进制包的可用源包

列出所有没有二进制包的可用源包

我需要获取 Debian 上没有二进制包的源包列表。

列出所有源包可能是一个答案,因此我们可以获取diff可用二进制文件和可用源包之间的信息。

答案1

据我所知,Debian 中的所有源代码包都必须在至少一种架构上生成至少一个二进制包。

要计算系统配置的源存储库(deb-src行)中可用源包生成的二进制包的数量,请运行

awk '/Package:/{p=$2;b=0} /Binary:/{b=NF - 1} /^$/{printf "%s: %d\n", p, b} END{printf "%s: %d\n", p, b}' /var/lib/apt/lists/*Sources

这无法在当前稳定、测试、不稳定和实验存储库中找到任何没有二进制包的源包。

如果您想确定哪些源包在给定体系结构上不生成任何二进制文件,可以按以下步骤操作:

  • 列出全局唯一的源码包名称:

    awk '/Package:/{print $2}' /var/lib/apt/lists/*_Sources | sort -u > source-packages
    
  • 列出用于生成给定架构的二进制文件的源包(不包括all,它包含在特定于架构的索引中):

    awk '/(Package|Source):/{source=$2}/Version:/{print source}' /var/lib/apt/lists/*-amd64_Packages | sort -u > amd64-packages
    
  • 列出全局源包列表中存在的条目,但不包含在用于以下用途的条目中amd64

    comm -23 source-packages amd64-packages
    

相关内容