ベンダーによるインストール済みRPMの検索


9

Linuxの特定のベンダーによってインストールされたrpmを検索するために使用する構文を理解しようとしています。私は理想的には特定のベンダーに対してrpm -qi greppingを使用しようとしただけですが、それはうまくいかないようです。誰かがこの検索の構文を持っていますか?


ライセンスが関連付けられている可能性のあるインストール済みのRPMを照会する方法を探しています(IBMやOracleなど)。他にどのようなアプローチを取ることができますか?
lorrie82

回答:


9

クエリ形式を使用して、ベンダーごとにパッケージを表示できます。すべてのパッケージをリストするには、次のようなものを検討します。

rpm -qa --queryformat '%{vendor}:%{name}\n' | sort > packages.txt

次に、packages.txtファイルを検査します。このファイルは次のようになり、ベンダーごとにソートされます。

Codership Oy:galera
Fedora Project:certbot
Fedora Project:clang
Fedora Project:epel-release
...
(none):gpg-pubkey
(none):nginx
...
Red Hat, Inc.:acl
Red Hat, Inc.:aic94xx-firmware
...
Remi Collet:php-cli
Remi Collet:php-common

または、grep探しているものがわかっている場合は、代わりに使用できます。

rpm -qa --queryformat '%{vendor}:%{name}\n' | grep 'Red Hat'

しかし、rpmdbのクエリには時間がかかるため、すべてをファイルにダンプしてから、またはファイルを読み取る方が高速grepです。

grep 'Red Hat' packages.txt

追加のボーナスポイント'%{vendor}:%{name}:%{license}\n'については、各RPMからライセンス情報を追加するクエリ形式を試してください。

Red Hat, Inc.:acl:GPLv2+
Red Hat, Inc.:aic94xx-firmware:Redistributable, no modification permitted
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.