답변:
package-cleanup --quiet --leaves
로부터 냠 - 유틸 패키지되지 않은 다른 패키지가 의존하는 라이브러리 패키지를 나열합니다. 불행히도 그것은 약간 지나치게 열심 인 경향이 있습니다. 예를 들어 내 시스템에서는 libvirt를 제거하는 것이 좋습니다. --exclude-bin
인수를 추가하면 도움이됩니다. 제안에 만족한다면 패키지를 정리하려면 다음을 수행하십시오.
# package-cleanup --quiet --leaves --exclude-bin | xargs yum remove -y
Fedora 22 이후 yum 대체품 인 DNF autoremove
는 apt-get / yum 자동 제거 후에 모델링 된 하위 명령 도 제공합니다 .
예 :
# dnf autoremove
이것은 자동으로 설치되고 사용되지 않는 모든 의존성 패키지를 제거하려고 시도하는 것과 비슷합니다 apt-get autoremove
.
# dnf autoremove examplepackage
examplepackage 및 모든 자동 설치 (및 사용되지 않은) 종속성을 제거합니다.
Yum은 Fedora 19부터 autoremove 명령을 가지고 있으며 Fedora 20 / RHEL 7부터 문서화되어 있습니다.
사용법은 dnf 구현과 유사합니다. 예 :
# yum autoremove
또는
# yum autoremove examplepackage
Yum은 remove
하위 명령 의 기본 동작을 변경하기위한 구성 옵션을 지원합니다 (예 : /etc/yum.conf를 통해).
clean_requirements_on_remove=yes
이것이 설정되면 다음 yum remove
패키지는 다른 패키지에 필요하지 않은 자동 설치 종속성을 제거하려고 시도합니다.
다음과 같은 방법으로이 옵션을 임시로 테스트 할 수도 있습니다.
# yum --setopt=clean_requirements_on_remove=1 remove examplepackage
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의 script에서 영감을 받았습니다 .
검사 tmp
및 큐 레이션 후 다음과 같은 방법으로 제거 할 수 있습니다.
# xargs yum remove < tmp
adobe-release
를 설치했기 때문에 '이유'가 기록되지 않았을 것입니다yum localinstall
yum 플러그인 "remove-with-leaves"를 설치해야합니다.
# yum install yum-plugin-remove-with-leaves.noarch
일단 설치되면 :
# yum remove --remove-leaves package
행운을 빕니다!
yum-plugin-remove-with-leaves.noarch
을 사용 하려면 패키지가 설치되어 있어야합니다package-cleanup
# package-cleanup --orphans >/tmp/junk
/tmp/junk
파일을 편집하고 명령 행에서 정보를 제공하는 첫 번째 행을 제거하고 다음을 입력하십시오.
for file in `cat /tmp/junk`
do
yum remove $file
done
apt-get autoremove
하지 않습니다. apt-get (8)은 다음과 같이 말합니다. 'autoremove는 일부 패키지의 종속성을 충족시키기 위해 자동으로 설치된 패키지를 제거하는 데 사용되며 더 이상 필요하지 않습니다.'
래리 모어의 답변을 바탕으로 :
package-cleanup --orphans | sed '1d' | sed '/^ * /d' | sed '/Loading mirror speeds from cached hostfile/d' | xargs sudo yum remove
궁금한 경우 가장 빠른 미러를 건너 뛰는 기능이 포함되어 있습니다.
이러한 문제를 일으키지 않는 또 다른 방법은 트랜잭션을 사용하는 것입니다.
기본 시스템을 설정 한 후 yum을 사용하여 설치하면 트랜잭션이 생성됩니다. 항목을 제거하려는 경우 트랜잭션을 롤백하십시오.
netbeans-platform
및 패키지 정리 후 테스트 한 결과 일부 항목이 있지만 이전에 설치된netbeans-platform
종속성 (Fedora 17 사용)은 없습니다.