Debian
列出所有沒有二進制包的可用源包
我需要獲取 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