tìm kiếm các rpms được cài đặt bởi nhà cung cấp


9

Tôi đang cố gắng tìm ra cú pháp sử dụng để tìm kiếm các rpms được cài đặt bởi một Nhà cung cấp cụ thể trong Linux. Tôi đã lý tưởng chỉ cố gắng sử dụng vòng quay -qi gout cho một nhà cung cấp cụ thể nhưng điều đó dường như không hoạt động. Bất cứ ai cũng có cú pháp cho tìm kiếm này?


Tôi đang tìm cách truy vấn các rpms đã cài đặt có thể có giấy phép liên quan đến nó - ví dụ như IBM hoặc Oracle. Tôi có thể dùng cách tiếp cận nào khác?
lorrie82

Câu trả lời:


9

Bạn có thể hiển thị các gói theo nhà cung cấp bằng cách sử dụng định dạng truy vấn. Tôi sẽ xem xét một cái gì đó như thế này, để liệt kê tất cả các gói:

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

Sau đó, bạn có thể kiểm tra packages.txttệp trông giống như thế này và sẽ được sắp xếp theo nhà cung cấp:

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

Hoặc bạn chỉ có thể grepthay thế nếu bạn biết những gì bạn đang tìm kiếm.

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

Nhưng việc truy vấn rpmdb mất một chút thời gian, vì vậy việc chuyển toàn bộ nội dung vào một tệp rồi đọc hoặc greptệp sẽ nhanh hơn.

grep 'Red Hat' packages.txt

Để có thêm điểm thưởng, hãy thử định dạng truy vấn '%{vendor}:%{name}:%{license}\n'sẽ nối thêm thông tin giấy phép từ mỗi RPM.

Red Hat, Inc.:acl:GPLv2+
Red Hat, Inc.:aic94xx-firmware:Redistributable, no modification permitted
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.