buscando rpms instalados por proveedor

9

Estoy tratando de averiguar la sintaxis que se usará para buscar las rpm instaladas por un proveedor específico en Linux. Idealmente, solo estaba tratando de usar el grepping rpm -qi para un proveedor específico, pero eso no parece funcionar. ¿Alguien tiene la sintaxis para esta búsqueda?

lorrie82
fuente
Estoy buscando una forma de consultar los rpms instalados que podrían tener licencias asociadas, por ejemplo, IBM u Oracle. ¿Qué otro enfoque podría tomar?
lorrie82

Respuestas:

9

Puede mostrar paquetes por proveedor utilizando un formato de consulta. Consideraría algo como esto, para enumerar todos los paquetes:

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

A continuación, puede inspeccionar el packages.txtarchivo, que se verá así, y se ordenará por proveedor:

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

O simplemente puede grephacerlo si sabe lo que está buscando.

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

Pero consultar el rpmdb lleva algún tiempo, por lo que es más rápido volcar todo en un archivo y luego leerlo o grepel archivo.

grep 'Red Hat' packages.txt

Para obtener puntos de bonificación adicionales, pruebe el formato de consulta '%{vendor}:%{name}:%{license}\n'que agregará la información de la licencia de cada RPM.

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