Я пытаюсь выяснить синтаксис, который нужно использовать для поиска установленных rpms определенного поставщика в Linux. В идеале я просто пытался использовать команду rpm -qi grepping для определенного поставщика, но, похоже, это не сработало. У кого-нибудь есть синтаксис для этого поиска?
Вы можете отображать пакеты по поставщикам, используя формат запроса. Я бы рассмотрел что-то вроде этого, чтобы перечислить все пакеты:
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