Yum에서 사용하지 않는 저장소 식별

Yum에서 사용하지 않는 저장소 식별

Centos/RHEL에서 사용되지 않는 리포지토리를 식별하는 방법이 있습니까?

내 Centos 시스템에 꽤 많은 리포지토리가 설치되어 있지만 실제로 필요한 저장소와 필요하지 않은 저장소가 무엇인지 잘 모르겠습니다.

설치된 패키지 목록을 사용하고 아직 사용되고 있는 리포지토리와 사용되지 않는 리포지토리를 식별하는 보고서를 생성하는 좋은 방법이 있습니까?

답변1

당신이있는 경우운영체제 6, 다음 명령은 설치된 RPM이 어느 저장소에서 왔는지 보여줍니다.

rpm -qa | xargs yum info | grep '^From repo' | sort | uniq -c | sort -rn

당신이있는 경우센트OS 5또는 원하는 정보를 얻을 수 있는 100% 확실한 방법은 없습니다. 현재 설치된 RPM을 확인하고 이를 설정한 다양한 저장소와 연결해야 합니다. 이를 연관시키는 방법에는 여러 가지가 있습니다.

  1. repoforge/rpmforge 및 IUS와 같은 일부 저장소는 RPM에 접미사가 있으므로 다음과 같이 정리할 수 있습니다.rpm -qa release='*rf*'

  2. 패키저, 빌드 호스트, 서명 또는 공급업체를 다양한 리포지토리와 연결합니다. 예를 들어, 빌드 호스트에 "fedoraproject.org"가 있다면 아마도 EPEL 저장소에 있을 것입니다. 또는 공급업체가 "RPM Fusion"으로 나열되어 있는 경우 rpmfusion 저장소에 있을 수 있습니다. 각 저장소는 실제로 이러한 필드를 사용하고 해당 필드에 입력하는 내용이 다른 경우 용어가 다릅니다.

    이론적으로 패키저, 빌드 호스트 및 공급업체는 모두 스푸핑될 수 있으므로 보안 요구 사항에 따라 이들에 의존하지 않을 수도 있지만 누군가가 악의적인 의도로 이를 수행할 가능성은 낮습니다. 서명이 가장 안전합니다.

    환매계약 내용은 다음과 같습니다. 모든 rpm을 쿼리하고 다음과 같은 것을 사용하여 출력을 정렬합니다.rpm -qa --queryformat '%{vendor}\t%{name}\n' | sort

    • 패커 - %{Packager}
    • 빌드 호스트 - %{buildhost}
    • 서명 - %{RSAHEADER:pgpsig}
    • 공급업체 - %{공급업체}

이것CentOS 위키 항목도움이 될 수도 있습니다.

답변2

어떤 저장소인지 알아보세요. 패키지가 설치된 후 다음 작업을 수행할 수 있습니다.

repoquery --installed --qf '%{ui_nevra} %{ui_from_repo}' -a

...또는 요약하면 다음과 같습니다.

repoquery --installed --qf '%{ui_from_repo}' -a | sort | uniq -c

..."--installed" 스위치를 제거하면 어떤 저장소인지 알려줍니다. 최신 버전의 패키지가 있어야 합니다(따라서 repos.foo 및 bar가 XYZ를 제공하는 경우 최신 버전을 제공하는 패키지만 나열됩니다). 이것은 아마도 당신이 원하는 것에 더 가깝습니다. 더 빠르게 확인하려면 "yum repolist"를 사용하면 각 저장소에서 사용 가능한 패키지 수를 확인할 수 있습니다. ...그것이 그만한 가치가 있는지 입증하기에 충분할 수 있습니다.

관련 정보