我正在尝试找出在 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