젠투에서 특정 패키지를 제거하고 싶고 이머지 매뉴얼 페이지를 살펴보았습니다. 이 옵션을 찾았습니다 --unmerge
.
경고: 이 작업을 수행하면 중요한 패키지가 삭제될 수 있습니다!일치하는 패키지를 모두 제거합니다. 이는 종속성을 확인하지 않으므로 시스템이 제대로 작동하는 데 필요한 패키지를 제거할 수 있습니다. 해당 매개변수는 Atom 또는 ebuild가 될 수 있습니다. 종속성 인식 버전의 경우 --병합 취소, 사용--딥클린또는- 가지치기.
그러나 제거하려는 패키지가 시스템에 설치된 다른 패키지에 필요한지 확인하고 싶습니다. 해당 기능을 제공하지 --depclean
않습니다 --prune
.
--depclean
종속성으로 설치되었지만 더 이상 필요하지 않은 패키지 제거--prune
"시스템에서 설치된 패키지의 가장 높은 버전을 제외하고 모두 제거"
버전을 확인할 종속성이 없나요 --unmerge
?
답변1
depclean
나는 그것이 당신이 설명하는 방식으로 작동한다고 생각하지 않습니다 . 인수 없이 이 작업을 수행하지만 패키지 이름을 전달하면 unmerge
추가 종속성 검사처럼 작동합니다. 에서 emerge(1)
:
Depclean은
--unmerge
하나 이상의 Atom이 주어지면 역방향 종속성이 없는 일치하는 패키지를 병합 해제합니다. 역 종속성을 표시하려면--depclean
with를 사용하세요 .--verbose
저는 개별 패키지를 병합 해제할 때 항상 --depclean
( )를 사용합니다.-c
답변2
동일한 결과를 얻는 또 다른 방법(종속성 검사를 통해 병합을 해제하는 명령은 아니지만): emerge --deselect package
월드 파일에서 패키지를 제거합니다. 이제 실행하면 emerge --depclean
다른 패키지에서 필요하지 않은 경우 패키지가 제거됩니다.
답변3
gentoolkit이 도움이 될 수 있습니다:
equery d <atom>
종속성을 먼저 확인한 다음 종속성을 확인한 후 패키지 제거를 진행할 수 있습니다.
답변4
때로는 emerge --unmerge
다음과 같은 경고 메시지가 표시됩니다.
* This action can remove important packages! In order to be safer, use
* `emerge -pv --depclean <atom>` to check for reverse dependencies before
* removing packages.
이는 패키지 병합을 해제하기 전에 종속성 검사를 수행하는 데 권장되는 방법인 것 같습니다. 그러나 나는 이를 달성할 수 있는 더 좋고 자동화된 방법이 있기를 여전히 바라고 있습니다.