我需要取得 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