Debian ベースのディストリビューションにインストールされているソフトウェアを一覧表示する最も信頼できる方法は何ですか。

Debian ベースのディストリビューションにインストールされているソフトウェアを一覧表示する最も信頼できる方法は何ですか。

だから、今はDebianベースのシステムで動作するためにのみ必要だと思います(しかし、今後はそうすることができるはずですyum)。

今私が持っている最高のものはdpkg-query。たとえば、次のコマンドを実行すると:

dpkg-query --show

次のリストが表示されます(何千ものアイテムを含む)。

...  
sudo    1.8.17p1-2  
...  
vim     2:7.4.1829-1  
...

しかし、命名規則はありません。一部のパッケージにはバージョン番号があり、一部にはアーキテクチャがあります。うんgcc-4.9-base:amd64、しかし私が欲しいのはそれすべてですgcc 4.9。理想的には、インストールされているすべてのソフトウェアのベンダー、製品、バージョン情報を入手できることを願っています。これを行う方法はありますか?出身地それとも、一種の「あいまいな」一致でなければなりませんか?

私はパッケージマネージャに問い合わせる以外に、他の方法や私が考えていなかった他の方法について開いています。これを達成するために追加のパッケージをインストールすることはできません(ただし、パッケージが存在する場合はどのように機能するのかを知りたいです)。

ベストアンサー1

これにより、インストールされているバイナリパッケージに対応するソースパッケージとバージョンが一覧表示されます。

dpkg-query --show -f '${source:Package} ${source:Version}\n' | sort -u

これは、自動的に取得できる単一のソフトウェアに最も近い一致です。gcc-4.9対応するすべてのバイナリパッケージではなく、関連バージョンを一度だけ表示できます。 「サプライヤー」情報を簡単に検索できないため、パッケージの詳細(apt-cache show ...)またはライセンス情報(/usr/share/doc/<package>/copyright「アップストリーム」プロジェクトを指す必要があります)を確認する必要があります。つまり"vendor");機械が読める形式は保証されていないため、いくつかの手動解析が必要です。

名前に(メジャー)バージョンを含むいくつかのソースパッケージがあります。例えば gcc-4.9gcc-5等。 ;これは、GCCと同様に、パッケージがメジャーバージョンを一緒にインストールするように設計されている場合は避けられない現象です。

同等のRPMコマンドは次のとおりです。

rpm --qf "%{SOURCERPM}\n" -qa | sort -u

おすすめ記事