다른 패키지에 종속되지 않는 한 모든 종속 패키지를 제거합니다.

다른 패키지에 종속되지 않는 한 모든 종속 패키지를 제거합니다.

packageA가 의존하는 다른 모든 패키지를 제거하고 싶지만 packageA여전히 종속성이 있는 패키지는 제거하고 싶습니다.

$ apt-cache depends packageA
packageA
  Depends: packageB
  Depends: packageC

$ apt-cache depends packageD
  Depends: packageC

$ apt-cache rdepends packageB
  Reverse Depends:
    packageA

$ apt-cache rdepends packageC
  Reverse Depends:
    packageA
    packageD

packageA, packageBpackageCpackageD현재 설치되어 있습니다. 을(를) 제거하고 싶습니다 packageA. packageB이것이 유일한 종속 패키지이므로 제거 packageA하고 싶습니다. 필수이므로 계속 설치해야 합니다 packageC. packageD을(를) 제거하고 싶지 않습니다 packageD.

나는 거기에 있다는 것을 알고 있습니다 apt autoremove. 하지만 apt autoremove실제로 사용되는 "미사용" 패키지가 있기 때문에 사용하고 싶지 않습니다 . 하지만 숫자가 너무 많아서 어떤 패키지가 사용되지 않는지 알 수 없고, 사용하지 않는 패키지를 모두 설치하고 싶지도 않습니다.
종속성은 수정되고 있지만 시간이 걸릴 것입니다. 이제 해결책이 필요합니다.

답변1

적성이 당신을 위해 그렇게 해야 합니다. packageB자동 설치로 표시되어 있는 경우

aptitude remove packageA

packageA및 을 삭제합니다 packageB. 다른 패키지에서 여전히 이를 필요로 하기 때문에 packageC제거되지 않습니다.

답변2

자동삭제같은 다른 프로그램은 못찾겠습니다. 저는 자동 제거를 사용해 보았는데 시스템이 손상되지 않았습니다. 어쩌면 이것이 고려해 볼 가치가 있는 일일까요? 설치된 모든 패키지의 백업 목록 생성

sudo cp -a /etc/apt/sources.list{,.bak} && sudo apt install apt-clone -y && mkdir ~/mypackages && sudo apt-clone clone ~/mypackages

이제 실행할 수 있습니다sudo apt 자동 삭제문제가 발생하면 복원하세요.

sudo apt-clone restore apt-clone-state-ubuntuserver.tar.gz

관련 정보