내 노트북에서는 Crunchbang Linux를 사용합니다. 패키지 관리자에서 이상한 동작을 발견했습니다. 공식 저장소( libdirectfb-extra
제 경우) 에서 패키지를 설치할 때 apt
여러 패키지가 더 이상 필요하지 않다는 메시지가 표시됩니다( xflux
, obconf
및 obmenu
정기적으로 사용하는 기타 앱 포함). 계속해서 패키지를 설치한 다음 apt
불필요한 패키지를 모두 제거했습니다.
무슨 뜻이에요? 왜 이런 일이 발생합니까? 제가 시스템을 자주 업데이트하지 않는데, 이것이 이유인가요?
답변1
패키지 "foo"는 다음과 같습니다.의지하다다른 패키지 "바"에. 이는 "bar"가 설치되지 않으면 "foo"를 설치할 수 없음을 의미합니다.
패키지 관리자의 임무는 사용자가 "foo" 설치를 요청하면 "bar" 패키지가 설치되도록 하는 것입니다.
이제 최신 패키지 관리자는 설치 여부에 관계없이 모든 패키지에 대한 기록을 보관합니다.수동(사용자가 이 패키지 설치를 요청했기 때문에) 또는자동으로(사용자가 다른 패키지의 설치를 요청했기 때문에 이 패키지가 필요합니다.)
사용자가제거"foo" 패키지를 사용하면 시스템에서 "bar"가 더 이상 시스템에 필요하지 않다는 것을 알 수 있습니다(시스템에 "bar"가 있는 유일한 이유는 "foo"에 필요하기 때문입니다. 이제 "foo"는 사라지고 "bar" 아마도 사라져야 할 것입니다).
이렇게 하면 불필요한 패키지로 인해 시스템이 너무 부풀어오르는 것을 방지할 수 있습니다.
때로는 상황이 조금 더 복잡해집니다. "foo"가 "bar"에 의존한다고 상상해 보십시오... 그러나 "foo"의 새 버전과 업데이트된 버전은 "baz"에 의존합니다(그리고 이전 "bar"는 전혀 필요하지 않습니다). "foo"를 업그레이드하면 어떻게 되나요? 새로운 "baz" 패키지를 설치하고 자동으로 설치된 "bar" 패키지를 제거합니다.
답변2
해석이 정확한지 여부에 따라 다릅니다.
제거될 것이라고만 표시되면 종속성 충돌로 인해 제거됩니다.
더 이상 필요하지 않다고 표시되면 종속성을 통해 설치된 것입니다(예: gnome-desktop은 다음에 따라 다름).톤패키지) 및 종속 패키지가 제거되었습니다. 이런 일이 발생하면 모든 종속성은 명시적으로 설치되지 않았기 때문에 "제거 가능한" 것으로 간주됩니다.
왜 제거되었나요? 가장 가능성 있는 원인은(이를 사용하는 경우 apt-get
) --auto-remove
플래그가 전달되었거나 apt-get auto remove
특정 시점에 실행되었거나 APT::Get::AutomaticRemove
구성 옵션이 설정되었기 때문입니다. 실행해서 apt-config dump | grep APT::Get::AutomaticRemove
확인해 보세요.