젠투에서 패키지를 안전하게 제거

젠투에서 패키지를 안전하게 제거

나는 젠투에서 특정 패키지를 제거하고 싶었고 이머지 매뉴얼 페이지를 살펴보았습니다. 옵션 을 찾았습니다 --unmerge.

경고: 이 작업을 수행하면 중요한 패키지가 제거될 수 있습니다!일치하는 모든 패키지를 제거합니다. 이는 종속성을 확인하지 않으므로 시스템의 올바른 작동에 필요한 패키지를 제거할 수 있습니다. 인수는 Atom 또는 ebuild가 될 수 있습니다. 종속성 인식 버전의 경우 --병합 해제, 사용--딥클린또는--치다.

하지만 제거하려는 패키지가 시스템에 설치된 다른 패키지에 필요한지 여부를 확인하기 위해 이머지를 사용하고 싶습니다. 해당 기능을 제공하지 마십시오 --depclean.--prune

  • --depclean종속성으로 설치되었지만 더 이상 필요하지 않은 패키지를 제거합니다.
  • --prune"시스템에서 가장 높게 설치된 패키지 버전을 제외한 모든 패키지를 제거합니다."

종속성 검사 버전이 없습니까 --unmerge?

답변1

depclean나는 당신이 설명한대로 작동하지 않는 것 같아요 . 인수가 없으면 패키지 이름을 전달하면 unmerge추가 종속성 검사와 마찬가지로 작동합니다. 에서 emerge(1):

Depclean은 --unmerge. 하나 이상의 Atom이 주어지면 역방향 종속성이 없는 일치하는 패키지를 병합 해제합니다. 역의존성을 표시하려면 with를 --depclean함께 사용하세요 .--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.

이는 패키지 병합을 해제하기 전에 종속성 검사를 수행하는 데 권장되는 방법인 것 같습니다. 하지만 저는 여전히 이를 달성할 수 있는 더 좋고 자동화된 방법이 있기를 바랍니다.

관련 정보