이전에 종속된 패키지를 업그레이드한 후 더 이상 필요하지 않은 데비안 패키지를 감지하는 방법은 무엇입니까?

이전에 종속된 패키지를 업그레이드한 후 더 이상 필요하지 않은 데비안 패키지를 감지하는 방법은 무엇입니까?

이라는 이름의 데비안 패키지가 있고 Foo그 버전은 1.1.1이라는 패키지에 따라 달라집니다 Bar.

Foo==1.1.2더 이상 의존하지 않는 최신 버전이 있다고 상상해 보십시오 Bar.

업그레이드 후에는 패키지가 Bar자동으로 제거되지 않습니다. 또한 apt autoremove이 패키지는 제거되지 않습니다.

Bar해당 패키지에 의존하는 업그레이드 중에 이러한 패키지를 자동으로 감지하려면 어떻게 해야 합니까? 그러한 패키지를 어떻게 제거합니까 Bar?

답변1

명령 출력에서 ​​발견되면 패키지가 확인 가능한 Bar상태가 아닌 다음 상태로 종료되었을 수 있습니다.manualauto

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를 사용하여 원하는 작업을 수행했습니다.

관련 정보