procurando rpms instalados por fornecedor

9

Estou tentando descobrir a sintaxe a ser usada para pesquisar rpms instalados por um fornecedor específico no Linux. Idealmente, eu estava apenas tentando usar o rpm -qi grepping para um fornecedor específico, mas isso não parece funcionar. Alguém tem a sintaxe para esta pesquisa?

lorrie82
fonte
Estou procurando uma maneira de consultar rpms instalados que possam ter licenciamento associado a ele - por exemplo, IBM ou Oracle. Que outra abordagem eu poderia adotar?
Lorrie82 18/02/19

Respostas:

9

Você pode mostrar pacotes por fornecedor usando um formato de consulta. Eu consideraria algo assim, para listar todos os pacotes:

rpm -qa --queryformat '%{vendor}:%{name}\n' | sort > packages.txt

Em seguida, você pode inspecionar o packages.txtarquivo, que se parecerá com isso e será classificado por fornecedor:

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

Ou você pode simplesmente grepsaber o que está procurando.

rpm -qa --queryformat '%{vendor}:%{name}\n' | grep 'Red Hat'

Mas a consulta ao rpmdb leva algum tempo; portanto, é mais rápido despejar a coisa toda em um arquivo e depois ler ou grepo arquivo.

grep 'Red Hat' packages.txt

Para ganhar pontos extras, tente o formato de consulta '%{vendor}:%{name}:%{license}\n'que anexará as informações da licença de cada RPM.

Red Hat, Inc.:acl:GPLv2+
Red Hat, Inc.:aic94xx-firmware:Redistributable, no modification permitted
Michael Hampton
fonte