Debian

列出所有沒有二進制包的可用源包

  • June 3, 2021

我需要獲取 Debian 上沒有二進制包的源包列表。

列出所有源包可能是一個答案,因此我們可以得到diff可用二進製文件和可用源包之間的關係。

據我所知,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

引用自:https://unix.stackexchange.com/questions/652633