구체적인 예를 들 수 있지만 이것이 일반적인 프로세스라고 생각하며 왜 이런 방식으로 수행되는지 이해하지 못합니다. 이런 일이 발생하면 구체적인 예를 들어야 하는지 의견을 말해주세요.
편집하다:
구체적인 예를 들어, 삭제 apache2
하고 업그레이드를 시도 했는데 php5-cgi
문제는 이 잘못된 시도가 저장 history.log
되지 않는다는 것입니다. 인터넷이 연결되어 있지 않아 업그레이드가 불가능해서 /var/log/apt/
작동하지 않습니다 .apt-get
삭제하려는 녹음된 작업 시도의 첫 번째 부분 apache2
은 다음과 같습니다.
Log started: 2015-01-24 12:32:00
Selecting previously unselected package php5-cgi.^M
(Reading database ... ^M(Reading database ... 5%^M(Reading database ... 10%^M(Reading database ... 15%^M(Reading database ... 20%^M(Reading database ... 25%^M(Reading database ... 30%^M(Reading database ... 35%^M(Reading database ... 40%^M(Reading database ... 45%^M(Reading database ... 50%^M(Reading database ... 55%^M(Reading database ... 60%^M(Reading database ... 65%^M(Reading database ... 70%^M(Reading database ... 75%^M(Reading database ... 80%^M(Reading database ... 85%^M(Reading database ... 90%^M(Reading database ... 95%^M(Reading database ... 100%^M(Reading database ... 251982 files and directories currently installed.)^M
Preparing to unpack .../php5-cgi_5.5.9+dfsg-1ubuntu4.5_amd64.deb ...^M
Unpacking php5-cgi (5.5.9+dfsg-1ubuntu4.5) ...^M
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...^M
dpkg: libapache2-mod-php5: dependency problems, but removing anyway as you requested:^M
php5 depends on libapache2-mod-php5 (>= 5.5.9+dfsg-1ubuntu4.5) | libapache2-mod-php5filter (>= 5.5.9+dfsg-1ubuntu4.5) | php5-cgi (>= 5.5.9+dfsg-1ubuntu4.5) | php5-fpm (>= 5.5.9+dfsg-1ubuntu4.5); however:^M
Package libapache2-mod-php5 is to be removed.^M
Package libapache2-mod-php5filter is not installed.^M
Package php5-cgi is not configured yet.^M
Package php5-fpm is not installed.
따라서 질문을 다시 말하면 다음과 같습니다.
패키지를 제거할 때 apt-get remove
프로세스에서 다른 패키지를 (때때로) 업그레이드해야 하는 이유는 무엇입니까?
답변1
AFAIK, 예를 들어 설치된 패키지가 A | B
제거하려고 시도했지만 B
아직 A
설치되지 않았거나 설치된 버전이 너무 낮은 경우(버전 종속성의 경우) 종속성을 해결할 수 있습니다. 나는 비슷한 일이 일어나는 것을 보았습니다.
노트.특정한 경우, apt-get
특정 패키지를 제거하려고 할 때 왜 업그레이드되는지 궁금하다면 다음 옵션을 시도해 볼 수 있습니다.packageU
packageR
--no-upgrade
apt-get remove --no-upgrade packageR
그리고 어떤 유형의 오류 메시지가 표시되는지 확인하세요(일반적으로 충족되지 않은 종속성). 또는 다음을 수행할 수 있습니다.
apt-get install packageR- packageU=current_version
오류 메시지를 확인하십시오(다음 하이픈은 packageR
패키지를 삭제해야 함을 나타내고 현재 버전의 등호는 packageU
업그레이드를 원하지 않음을 나타냄 packageU
). 즉, 종속성이 충족되지 않습니다. 오류 메시지가 표시되지 않고 packageR
업그레이드하지 않고 제거할 수 있다면 packageU
이는 종속성 해결에 버그가 있음을 의미할 수 있습니다(경우에 따라 버그가 있는 것으로 알려져 있음).