пошук встановлених RPM від постачальника


9

Я намагаюся з'ясувати синтаксис, який слід використовувати для пошуку встановлених rpms певним постачальником в Linux. Я в ідеалі просто намагався використовувати rpm -q grepping для конкретного постачальника, але це, здається, не працює. У когось є синтаксис цього пошуку?


Я шукаю спосіб запитувати встановлені rpms, які могли б мати ліцензії, пов'язані з ним - наприклад, 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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.