mencari rpms yang diinstal oleh vendor

9

Saya mencoba mencari tahu sintaks yang digunakan untuk mencari rpms yang diinstal oleh Vendor tertentu di Linux. Saya idealnya hanya mencoba menggunakan rpm -qi grepping untuk vendor tertentu tetapi sepertinya tidak berhasil. Adakah yang memiliki sintaks untuk pencarian ini?

lorrie82
sumber
Saya mencari cara untuk meminta rpms terpasang yang dapat memiliki lisensi yang terkait dengannya - misalnya IBM atau Oracle. Pendekatan apa lagi yang bisa saya ambil?
lorrie82

Jawaban:

9

Anda dapat menampilkan paket berdasarkan vendor menggunakan format kueri. Saya akan mempertimbangkan sesuatu seperti ini, untuk mencantumkan semua paket:

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

Anda kemudian dapat memeriksa packages.txtfile, yang akan terlihat seperti ini, dan akan diurutkan berdasarkan vendor:

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

Atau Anda bisa grepsebaliknya jika Anda tahu apa yang Anda cari.

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

Tetapi meminta rpmdb membutuhkan waktu, jadi lebih cepat untuk membuang semuanya ke sebuah file dan kemudian membaca atau grepfile tersebut.

grep 'Red Hat' packages.txt

Untuk poin bonus tambahan, cobalah format kueri '%{vendor}:%{name}:%{license}\n'yang akan menambahkan informasi lisensi dari setiap RPM.

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