Ich muss die Liste der Quellpakete abrufen, die keine Binärpakete auf Debian haben.
Eine mögliche Antwort besteht darin, alle Quellpakete aufzulisten, sodass wir den Unterschied diff
zwischen der verfügbaren Binärdatei und dem verfügbaren Quellpaket erkennen können.
Antwort1
Soweit mir bekannt ist, müssen alle Quellpakete in Debian mindestens ein Binärpaket auf mindestens einer Architektur erstellen.
Um die Anzahl der Binärpakete zu zählen, die von den Quellpaketen erstellt wurden, die in den konfigurierten Quellrepositorys des Systems verfügbar sind ( deb-src
Zeilen), führen Sie aus
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
Es kann kein Quellpaket ohne Binärpakete in den aktuellen stabilen, Test-, instabilen und experimentellen Repositories gefunden werden.
Wenn Sie ermitteln möchten, welche Quellpakete auf einer bestimmten Architektur keine Binärdateien erzeugen, können Sie wie folgt vorgehen:
Listen Sie die eindeutigen Quellpaketnamen global auf:
awk '/Package:/{print $2}' /var/lib/apt/lists/*_Sources | sort -u > source-packages
Listet die Quellpakete auf, die zum Erstellen der Binärdateien einer bestimmten Architektur verwendet wurden (mit Ausnahme von
all
, das in den architekturspezifischen Indizes enthalten ist):awk '/(Package|Source):/{source=$2}/Version:/{print source}' /var/lib/apt/lists/*-amd64_Packages | sort -u > amd64-packages
Listeneinträge, die in der Liste der globalen Quellpakete vorhanden sind, jedoch nicht in denen, die für Folgendes verwendet werden
amd64
:comm -23 source-packages amd64-packages