Ubuntu-15.10を使用しています。通常のインストールに加えて、多くのアプリケーションをインストールしました。
これで、GPLまたはサードパーティのライセンス(Fluendoなど)に基づいてライセンスされたインストール済みパッケージの数を知りたいと思います。
これを確認する方法はありますか?または、インストールされているすべてのアプリケーションのすべてのライセンスを手動で確認する必要がありますか?
編集する:
次のコードスニペットは、インストールされているさまざまなライセンスファイルの名前を一覧表示するために使用されます。
find /usr/share/doc -type f -name copyright -exec grep "License\:" {} + | cut -f3 -d: | sort -u
ベストアンサー1
ソフトウェアパッケージのライセンスはに記載されています/usr/share/doc/${package}/copyright
。このファイルは、多くのパッケージが使用するパッケージのマスターライセンスを指定するために必要です。機械可読copyright
ファイルソースパッケージの各ファイルのライセンスを一覧表示します。
License:
機械可読ファイルの場合は、ライセンスを紹介する行を使用できます。
awk '/^License:/ { print $2 }' /usr/share/doc/*/copyright | sort -u
で文書化されたライセンスを探している場合は、/usr/share/common-licenses
ファイル内のそのライセンスに関する言及を参照できますcopyright
。例えばGPLまたはLGPLに基づいてライセンスされたソフトウェアパッケージの数を数えます。
grep -l GPL /usr/share/doc/*/copyright | wc -l
ソースパッケージの数だけを計算するには、一意のファイル数を計算します(単一のソースパッケージからエクスポートされたバイナリパッケージにはまったく同じファイルがcopyright
あるか、同じファイルにリンクされています)。
md5sum $(grep -l GPL /usr/share/doc/*/copyright) | sort -k1,1 -u | wc -l
Debsourcesはさまざまな検索方法を提供しますすべての Debiancopyright
ファイル;これはラインですそのパッケージがコンピュータで読み取り可能な形式を使用している場合は、個々のファイルのライセンスを検索してください。 (該当する行のライセンスは文書化されていません。ここにコピーするのではなく、リンクだけを歩きます。)
これらのcopyright
ファイルはソースパッケージのライセンスを記録するため、バイナリパッケージに提供されていないファイルを記録する可能性が高く、バイナリパッケージのライセンスには影響しません。たとえば、GPLライセンスがある場合です。ファイル、このファイルは、GPLではなくライセンスソフトウェアパッケージのビルド中にのみ使用されます。