이라는 이름의 데비안 패키지가 있고 Foo
그 버전은 1.1.1
이라는 패키지에 따라 달라집니다 Bar
.
Foo==1.1.2
더 이상 의존하지 않는 최신 버전이 있다고 상상해 보십시오 Bar
.
업그레이드 후에는 패키지가 Bar
자동으로 제거되지 않습니다. 또한 apt autoremove
이 패키지는 제거되지 않습니다.
Bar
해당 패키지에 의존하는 업그레이드 중에 이러한 패키지를 자동으로 감지하려면 어떻게 해야 합니까? 그러한 패키지를 어떻게 제거합니까 Bar
?
답변1
명령 출력에서 발견되면 패키지가 확인 가능한 Bar
상태가 아닌 다음 상태로 종료되었을 수 있습니다.manual
auto
apt-mark showmanual
따라서 더 이상 처리되지 않습니다 apt-get autoremove
.
이 도구를 사용할 수 있습니다deborphan
포장에서deborphan
특히 이러한 유형의 패키지를 찾으십시오. manual
경험적 접근을 위해 패키지 상태를 사용하지 않습니다 .
사용하지 않는 패키지(예: 라이브러리)를 찾을 수 있는 프로그램
deborphan이 시스템에서 "고아" 패키지를 발견했습니다. 설치에 따라 다른 패키지가 없는 패키지를 결정하고 해당 패키지 목록을 표시합니다. 라이브러리를 찾을 때 가장 유용하지만 패키지의 모든 부분에 사용할 수 있습니다.
특히 플러그인 라이브러리(종속성 문제를 일으키지 않고 제거할 수 있지만 라이브러리를 제거하면 어딘가에서 기능이 제거되는 라이브러리)의 경우 오탐지가 발생할 수도 있습니다.
제공된 결과를 사용 deborphan
하여 패키지를 직접 제거하거나 다음 auto
과 같이 다시 표시할 수 있습니다.
apt-mark auto package1 package2 ...
추가 처리를 위해 apt-get autoremove
.
답변2
나는 믿는다apt remove
데비안은 Arch와 동일합니다.pacman -Qdtq
, 더 이상 종속성으로 필요하지 않은 패키지를 쿼리합니다. 그것들을 제거하려면 다음과 같은 것을 실행해야 할 것 같습니다.
apt remove $(apt autoremove)
(아치의 경우 비슷한 것을 실행해야 합니다 pacman -R $(pacman -Qdtq)
).
이러한 패키지를 자동으로 제거하는 경우 이것이 변경해야 할 구성인지 확실하지 않지만 apt
위의 줄을 .bashrc
.
면책조항: 저는 Debian에서는 이 작업을 수행하지 않았지만 Arch를 사용하여 원하는 작업을 수행했습니다.