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

答え2

Debian では、次のオプションを使用できます。--showformat=フォーマット~のためdpkgクエリ

たとえば、

dpkg-query --show --showformat='${binary:Package}\t${Version}\t${Architecture}\t${binary:Summary}\n' gcc

答え3

Debian では実行できますdpkg --list

特定のパッケージの実行に関する詳細情報を取得するには、次の手順を実行します。

dpkg -p <package_name>

または

dpkg -s <package_name>

たとえば、

# dpkg -s gcc 
Package: gcc
Status: install ok installed
Priority: optional
Section: devel
Installed-Size: 42
Maintainer: Debian GCC Maintainers <[email protected]>
Architecture: amd64
Source: gcc-defaults (1.136)
Version: 4:4.9.2-2
Provides: c-compiler
Depends: cpp (>= 4:4.9.2-2), gcc-4.9 (>= 4.9.2-1~)
Recommends: libc6-dev | libc-dev
Suggests: gcc-multilib, make, manpages-dev, autoconf, automake, libtool,  flex, bison, gdb, gcc-doc
Conflicts: gcc-doc (<< 1:2.95.3)
Description: GNU C compiler
This is the GNU C compiler, a fairly portable optimizing compiler for C.
This is a dependency package providing the default GNU C compiler.

RHELベースのディストリビューションでは、以下を実行できます。rpm -qa

関連情報