%EA%B0%80%20%EB%8B%A4%EB%A5%B8%20%ED%8C%A8%ED%82%A4%EC%A7%80%EB%A5%BC%20%EC%84%A4%EC%B9%98%ED%95%98%EB%8A%94%20%EB%8F%99%EC%95%88%20%ED%8A%B9%EC%A0%95%20%ED%8C%A8%ED%82%A4%EC%A7%80%EB%A5%BC%20%EC%9E%90%EB%8F%99%EC%9C%BC%EB%A1%9C%20%EC%A0%9C%EA%B1%B0%ED%95%98%EB%8A%94%20%EC%9D%B4%EC%9C%A0%EB%8A%94%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
예를 들어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는 내부적으로 종속성 목록을 생성할 때 제거할 패키지와 활성 패키지를 구별할 수 있는 방법이 없기 때문에 단순히 부정적인 결과가 가장 적은 결과를 선택하는 것입니다(예: 강제 제거). 패키지) 결과.