공급 업체별 설치된 rpm 검색


9

Linux의 특정 공급 업체가 설치된 rpm을 검색하는 데 사용할 구문을 찾으려고합니다. 특정 공급 업체에 rpm -qi grepping을 사용하는 것이 이상적이지만 작동하지 않는 것 같습니다. 이 검색에 대한 구문이 있습니까?


IBM 또는 Oracle과 같이 라이센스가 부여 된 설치된 rpm을 쿼리하는 방법을 찾고 있습니다. 다른 어떤 접근법을 취할 수 있습니까?
lorrie82

답변:


9

쿼리 형식을 사용하여 공급 업체별로 패키지를 표시 할 수 있습니다. 모든 패키지를 나열하기 위해 이와 같은 것을 고려하고 싶습니다.

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

그런 다음 packages.txt파일 을 검사하면 다음 과 같이 표시되며 공급 업체별로 정렬됩니다.

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

또는 당신 grep이 찾고있는 것을 안다면 그냥 대신 할 수 있습니다 .

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

그러나 rpmdb를 쿼리하는 데는 시간이 걸리므로 전체를 파일로 덤프 한 다음 파일을 읽거나 읽는 것이 더 빠릅니다 grep.

grep 'Red Hat' packages.txt

추가 보너스 포인트를 얻으려면 '%{vendor}:%{name}:%{license}\n'각 RPM의 라이센스 정보를 추가하는 쿼리 형식 을 사용해보십시오 .

Red Hat, Inc.:acl:GPLv2+
Red Hat, Inc.:aic94xx-firmware:Redistributable, no modification permitted
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.