예를 들어원자 텍스트 편집기. 내가 실행할 때 :
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는 종속성 목록을 생성할 때 제거할 패키지와 활성 패키지를 실제로 구별할 수 있는 방법이 내부적으로 없기 때문에 가장 부정적인 결과(예: 강제로 패키지 제거)를 선택하는 것뿐입니다.