バイナリパッケージを持たない利用可能なソースパッケージをすべて一覧表示します

バイナリパッケージを持たない利用可能なソースパッケージをすべて一覧表示します

Debian にバイナリ パッケージがないソース パッケージのリストを取得する必要があります。

diffすべてのソース パッケージをリストすることが答えになる可能性があり、これにより、使用可能なバイナリと使用可能なソース パッケージ間の差を取得できます。

答え1

私の知る限り、Debian のすべてのソース パッケージは、少なくとも 1 つのアーキテクチャで少なくとも 1 つのバイナリ パッケージを生成する必要があります。

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
    

関連情報