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
, packageB
및 packageC
가 packageD
현재 설치되어 있습니다. 을(를) 제거하고 싶습니다 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