특정 리포지토리 (예 : "epel")에서 시스템에 설치된 모든 RPM 패키지 목록을 얻으려면 어떻게해야합니까?
특정 리포지토리 (예 : "epel")에서 시스템에 설치된 모든 RPM 패키지 목록을 얻으려면 어떻게해야합니까?
답변:
yum list installed | grep @epel
dnf list installed | grep @epel
이 stackoverflow 답변 에서 제안한대로 RHEL6부터 다음을 사용하여이를 수행하는보다 철저한 방법이 있습니다 yumdb
.
yumdb search from_repo REPOID*
레포 이드는 와일드 카드를받습니다.
치트를 만들고 출력을 파이프하면 예쁜 인쇄 효과도 얻을 수 있습니다. 여기에 하나를 사용합니다awk
yumdb search from_repo REPOID* |awk -F"\n" '{ RS=""; print $1 }'
egrep
또는 사용grep -e
yumdb search from_repo REPOID* |egrep -v '(from_repo|^$)'
지정된 저장소에서 사용 가능한 모든 패키지 를 나열하려면 다음을 수행하십시오.
repoquery -a --repoid=REPONAME
repoquery -qa --repoid=REPONAME
repoquery -a --repoid=REPONAME
맨 페이지 -q
옵션 에 따르면 rpmquery 호환성을위한 것이므로 아무것도하지 않기
-qa
실제로 실패합니다. 이전에 내가 대답을 업데이트하고있어 upvote에를 :( 제거하는 것을 반영하기 때문에 내가 코멘트를 upvote에 수 없습니다.
yum의 출력을 잡는 것이 가장 확실한 방법입니다.
yum list installed | grep @epel
그러나 추가 패키지 속성을 표시 할 수 없으며 스크립트로 구문 분석하기가 어렵습니다. 이 도구 repoquery
패키지에서이 yum-utils
도구이지만 기본적으로 설치되지 않습니다.
repoquery -a --installed --qf "%{ui_from_repo} %{name}" | grep '^@epel'
더 복잡한 예 :
repoquery -a --installed --qf "%-20{ui_from_repo} %-30{name} %-7{arch} %{epoch}:%-12{version} %-4{release}" | grep '^@epel'
yum repo-pkgs <repoid> list installed
와 동일한 정보를 검색하는 데 사용할 수 yumdb search from_repo <repoid>
있지만 형식은 다릅니다.
# yum help repo-pkgs
repo-pkgs <repoid> <list|info|install|remove|upgrade|reinstall*|remove-or-*> [pkg(s)]
Treat a repo. as a group of packages, so we can install/remove all of them
aliases: repo-packages, repository-pkgs, repository-packages
샘플 epel
출력 :
# yumdb search from_repo epel
htop-2.2.0-1.el7.x86_64
from_repo = epel
supervisor-3.1.4-1.el7.noarch
from_repo = epel
# yum repo-pkgs epel list installed
Installed Packages
htop.x86_64 2.2.0-1.el7 @epel
supervisor.noarch 3.1.4-1.el7 @epel
Vendor
설치된 rpm 의 헤더를 확인할 수 있습니다 .
이 예제는 VideoLAN 저장소의 모든 패키지를 나열 합니다.
rpm -q -a --qf "%{Name}:%{Vendor}\n" \
| grep -F ":VideoLAN Project (http://www.videolan.org)"
분명히 Vendor
리포지토리 의 헤더가 다른 리포지토리 중에서 고유한지 확인해야 합니다.
누락 된 리포지토리 만 찾으려는 사람들의 경우 :
yum list installed | awk '{print $3}' | sort | uniq
패키지가 설치된 모든 리포지토리가 반환됩니다.