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

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

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

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

이 문제를 해결했습니다.

하지만 원하지 않는 패키지가 실제로 필요한 패키지 제거를 유발해야 하는 이유를 여전히 이해하지 못합니다(원자적으로)

답변1

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

apt-cache depends libgtkspell0 pidgin-data atom

패키지를 유지하려면 apt는 원자의 종속성 중 하나와 충돌하는 종속성이 있는 원자를 제거할 것을 권장합니다. 주의:

Conflicts: libgtkspell0:i386

출력의 일부.

그래서 apt는 갈등을 해결하려고 노력합니다. 이론적으로 apt는 시스템에서 활성화된 패키지보다는 더 이상 필요하지 않은 패키지를 제거하도록 제안해야 하기 때문에 제거할 두 패키지의 패키저에 질문을 게시하는 것이 거의 가치가 있다는 점에 주목할 수 있습니다. 균형 잡힌 패키지 풀에서 종속성/충돌 목록 생성 및 유지 관리.

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

관련 정보