apt-get install <package>
또는 를 통해 패키지를 설치 aptitude install <package>
한 다음 를 사용하여 제거 하면 apt-get purge <package>; apt-get autoremove --purge
시스템이 이전과 같은 상태가 아닙니다. 아직 다른 패키지가 설치되어 있습니다.
추가 패키지는 그림과 같이 자동 설치로 표시됩니다 apt-mark showauto
.
즉, 이는 Ubuntu 18.04 g++-8
,away 에서 발생합니다 cpp-8 gcc-8 libasan5:amd64 libcc1-0:amd64 libgcc-8-dev:amd64 libisl19:amd64 libmpc3:amd64 libmpfr6:amd64 libstdc++-8-dev:amd64 libubsan1:amd64
. APT 출력을 구문 분석하지 않고도 이를 방지할 수 있는 깔끔한 방법이 있습니까?
답변1
autoremove
예상대로 제거되지 않는 이유는 설치된 패키지가 설치된 다른 패키지에 대한 약한 종속성을 자동으로 충족시키기 때문입니다. 귀하의 경우 dpkg-dev
가상 패키지를 권장하므로 자동 종속성으로 이미 설치되어 있으며 c-compiler
제공된 패키지는 c-compiler
설치 후에도 유지됩니다.
즉, 패키지 A가 설치되어 있고 패키지 B에 대한 종속성이 약하지만 패키지 B는 아직 설치되지 않았습니다. 나중에 패키지 C를 설치하고 패키지 B에 대한 종속성이 있는 경우(강력하거나 약하지만 패키지 B의 구성을 고려함 apt
) 패키지 B도 설치되고 자동 설치로 표시됩니다. 그러나 패키지 C를 삭제해도 패키지 A가 "흥미로움"을 유지하므로 패키지 B가 자동 삭제 대상으로 간주되지 않습니다 apt
.
너할 수 있다약한 종속성을 무시 해야 하지만 autoremove
(기본적으로 권장됨) 이로 인해 예상하거나 원하는 것보다 더 많은 패키지가 이식 가능해질 수 있습니다.
나는 이것에 대한 좋은 해결책을 모른다. aptitude
자동 삭제 측면에서는 더욱 공격적이지만 모든 상황을 처리할 수는 없습니다.
바라보다apt-get dist-upgrade 및 apt-get autoremove와 상호 작용하는 방법에 대한 권장 사항 및 제안은 무엇입니까?그리고"apt-get autoremove"가 작동하지 않는 이유는 무엇입니까?이에 대해 자세히 알아보세요.