Suche nach installierten RPMs nach Hersteller

9

Ich versuche, die Syntax herauszufinden, mit der installierte RPMs von einem bestimmten Anbieter unter Linux durchsucht werden. Ich habe im Idealfall nur versucht, das RPM-QI-Grepping für einen bestimmten Anbieter zu verwenden, aber das scheint nicht zu funktionieren. Hat jemand die Syntax für diese Suche?

lorrie82
quelle
Ich suche nach einer Möglichkeit, installierte RPMs abzufragen, mit denen eine Lizenzierung verbunden sein könnte - zum Beispiel IBM oder Oracle. Welchen anderen Ansatz könnte ich wählen?
Lorrie82

Antworten:

9

Sie können Pakete nach Anbieter mithilfe eines Abfrageformats anzeigen. Ich würde so etwas in Betracht ziehen, um alle Pakete aufzulisten:

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

Sie können dann die packages.txtDatei überprüfen , die ungefähr so ​​aussieht und nach Hersteller sortiert wird:

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

Oder Sie können einfach grepstattdessen, wenn Sie wissen, wonach Sie suchen.

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

Das Abfragen der RPM-Datenbank dauert jedoch einige Zeit, sodass es schneller ist, das Ganze in eine Datei zu kopieren und dann grepdie Datei zu lesen .

grep 'Red Hat' packages.txt

Versuchen Sie für zusätzliche Bonuspunkte das Abfrageformat, '%{vendor}:%{name}:%{license}\n'das die Lizenzinformationen von jedem RPM anfügt.

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