按供应商搜索已安装的 rpm

按供应商搜索已安装的 rpm

我正在尝试找出在 Linux 中搜索特定供应商安装的 rpm 的语法。我本来只是想使用 rpm -qi grepping 来查找特定供应商,但这似乎不起作用。有人知道这种搜索的语法吗?

答案1

您可以使用查询格式按供应商显示软件包。我会考虑使用类似这样的方法列出所有软件包:

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

相关内容