Ao remover um pacote via “apt-get remove”, por que você precisa (às vezes) atualizar outros pacotes no processo?

3

Eu poderia dar um exemplo específico, mas acho que isso é um processo comum e simplesmente não entendo por que isso é feito. Por favor, comente se eu deveria dar um exemplo específico quando isso está acontecendo.

Editar:

Para o exemplo específico: Eu tentei remover apache2 e ele tentou atualizar php5-cgi , o problema é que o history.log em /var/log/apt/ não salvou essa tentativa de não funcionar. Não estava funcionando porque apt-get não pôde atualizar porque não havia conexão com a Internet.

A primeira parte da tentativa de trabalho registrada para remover apache2 é a seguinte:

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.

Então, para reafirmar a pergunta:

Ao remover um pacote via apt-get remove , por que você precisa (às vezes) atualizar outros pacotes no processo?

    
por John H. K. 25.01.2015 / 12:16

1 resposta

4

AFAIK, isso pode acontecer para resolver dependências, por exemplo, se um pacote instalado depender de A | B , você tentar remover B e A ainda não estiver instalado ou tiver uma versão instalada muito baixa (no caso dependência de versão). Eu já vi algo assim.

Observação. Em um caso específico, se você quiser saber por que apt-get deseja atualizar algum pacote packageU quando quiser remover o pacote packageR , você pode tentar a opção --no-upgrade :

apt-get remove --no-upgrade packageR

e veja que tipo de mensagem de erro você recebe (normalmente uma dependência insatisfeita). Alternativamente, você pode fazer:

apt-get install packageR- packageU=current_version

e veja a mensagem de erro (o hífen após packageR significa que o pacote é solicitado a ser removido, e o igual com a versão atual de packageU significa que você não deseja atualizar packageU ), ou seja a dependência insatisfeita. Se você não receber uma mensagem de erro e o packageR puder ser removido sem atualizar packageU , isso provavelmente significa um erro na resolução de dependência (é conhecido por estar com bugs em alguns casos ).

    
por 25.01.2015 / 12:18

Tags