Назад | Перейти на главную страницу

поиск установленных RPM по поставщику

Я пытаюсь выяснить синтаксис, который нужно использовать для поиска установленных 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