Linux(Mint 17.2,Ubuntu 14.04 기반. KDE)가 다른 패키지를 설치하는 동안 특정 패키지를 자동으로 제거하는 이유는 무엇입니까?

Linux(Mint 17.2,Ubuntu 14.04 기반. KDE)가 다른 패키지를 설치하는 동안 특정 패키지를 자동으로 제거하는 이유는 무엇입니까?

예를 들어Atom 텍스트 편집기. 내가 실행할 때 :

sudo apt-get install imagemagick # http://www.imagemagick.org/script/index.php

다음을 제공합니다:

you might want to run 'apt-get -f install' to correct these: 
The following packages have unmet dependencies:  virtualbox-5.0:i386 : Depends: psmisc:i386 but it is not going to be installed

그래서 내가 시도할 때:

sudo apt-get -f install

나는 얻다

The following packages were automatically installed and are no longer required:
  libgtkspell0 pidgin-data
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
  psmisc:i386
The following packages will be REMOVED:
  atom gconf2 psmisc
The following NEW packages will be installed:
  psmisc:i386

내 질문은: 왜 그래야 하는가?원자완전히 다른 것을 설치하려고 하면 제거될 수 있나요?

편집하다: 절차를 반복하지만

apt-get autoremove

대신에

sudo apt-get -f install

문제를 해결했습니다.

하지만 불필요한 패키지가 실제로 필요한 패키지(atom) 제거를 트리거해야 하는 이유를 여전히 알 수 없습니다.

답변1

이는 apt의 각 패키지에 다음을 통해 확인할 수 있는 종속성 목록이 있기 때문에 발생합니다.

apt-cache depends libgtkspell0 pidgin-data atom

패키지를 유지하기 위해 apt는 원자의 종속성 중 하나와 충돌하는 종속성을 가진 원자를 제거할 것을 제안합니다. 특히 다음 사항에 유의하세요.

Conflicts: libgtkspell0:i386

출력의 일부.

그래서 apt는 단순히 갈등을 해결하려고 노력하고 있습니다. 이론적으로 apt는 시스템에서 활성화된 패키지가 아니라 더 이상 필요하지 않은 패키지를 제거하도록 제안해야 하지만 항상 패키지 풀에서 종속성/충돌 목록 생성 및 유지 관리의 균형을 유지합니다.

내가 추측한다면, apt는 내부적으로 종속성 목록을 생성할 때 제거할 패키지와 활성 패키지를 구별할 수 있는 방법이 없기 때문에 단순히 부정적인 결과가 가장 적은 결과를 선택하는 것입니다(예: 강제 제거). 패키지) 결과.

관련 정보