Fedora에서 고아 패키지를 제거하는 방법은 무엇입니까?

Fedora에서 고아 패키지를 제거하는 방법은 무엇입니까?

방금 Ubuntu에서 Fedora14로 전환했습니다. 우분투에서는 apt-get autoremove고아/사용하지 않는 패키지를 제거할 수 있습니다. Fedora에서 이에 상응하는 것은 무엇입니까?

답변1

DNF는 Fedora 22 이후 yum 대체품입니다. 또한 autoremove다음 하위 명령도 제공합니다.본뜨다apt-get/yum은 자동으로 삭제합니다.

예:

# dnf autoremove

apt-get autoremove자동으로 설치된 패키지와 사용하지 않는 기타 종속성 패키지를 모두 제거하려고 시도합니다 . 이는 .

# dnf autoremove examplepackage

그러면 examplepackage와 자동으로 설치된(및 기타 사용되지 않는) 종속성이 모두 제거됩니다.

Yum의 자동 제거 명령은 Fedora 19부터 사용할 수 있으며 Fedora 20/RHEL 7부터 문서화되었습니다.

사용법은 dnf 구현과 유사합니다. 예를 들면 다음과 같습니다.

# yum autoremove

또는

# yum autoremove examplepackage

yum 삭제 동작 변경

Yum은 하위 명령의 기본 동작을 변경하는 구성 옵션을 지원합니다 remove(예: /etc/yum.conf를 통해):

clean_requirements_on_remove=yes

yum.conf(5)

일단 설정되면 다음 항목은 yum remove다른 패키지에서 필요하지 않은 경우 자동으로 설치된 종속성을 제거하려고 시도합니다.

다음 방법으로 이 옵션을 일시적으로 테스트할 수도 있습니다.

# yum --setopt=clean_requirements_on_remove=1 remove examplepackage

이전 Fedora 버전에 대한 해결 방법

(yum autoremove 하위 명령을 사용할 수 없거나 clean_requirements_on_remove작동하지 않는 Fedora 버전의 경우)

패키지 설치 중에 설치된 종속성은 그렇게 표시되지만(rpm/yum의 비교적 새로운 기능인 것 같습니다).

다음을 통해 원치 않는 종속성을 찾을 수 있습니다.

$ package-cleanup --leaves -q --all \
    | xargs repoquery --installed --qf '%{nvra} - %{yumdb_info.reason}' \
    | grep -- '- dep' \
    | cut -d' ' -f1 > tmp

이 명령줄은 다음에서 영감을 받았습니다.fenris02의 스크립트.

확인 tmp(및 관리)한 후 다음을 통해 삭제할 수 있습니다.

# xargs yum remove < tmp

답변2

package-cleanup --quiet --leaves~에서냠 도구패키지는 다른 패키지가 의존하지 않는 라이브러리 패키지를 나열합니다. 불행하게도, 그것은 조금 너무 열성적인 경향이 있습니다. 예를 들어 내 시스템에서는 libvirt를 제거하는 것이 좋습니다. 매개변수를 추가하면 --exclude-bin도움이 됩니다. 권장 사항에 만족하는 경우 패키지를 청소하려면 다음을 수행하십시오.

# package-cleanup --quiet --leaves --exclude-bin | xargs yum remove -y

답변3

yum 플러그인 "remove-with-leaves"를 설치해야 합니다:

# yum install yum-plugin-remove-with-leaves.noarch

설치 후:

# yum remove --remove-leaves package

행운을 빌어요!

답변4

노트:이 답변은 정확하지만 RHEL 7+ 및 Fedora 20+(자동 제거가 새 기능으로 추가된 경우)에만 해당됩니다.

# yum autoremove

선택한 패키지의 삭제를 확인하세요.

관련 정보