A partir da página man do apt-get
, um comando upgrade
do
... Pacotes atualmente instalados com novas versões disponíveis são recuperados e atualizados; sob nenhuma circunstância os pacotes atualmente instalados são removidos ou os pacotes ainda não instalados são recuperados e instalados. Novas versões dos pacotes atualmente instalados que não podem ser atualizados sem alterar o status de instalação de outro pacote serão deixadas na versão atual.
Isso significa que apt-get upgrade
não instalará nem removerá um pacote durante a atualização. Mesmo quando um pacote tem uma versão mais alta disponível. Nesse caso, esse pacote específico (e quaisquer pacotes associados que sejam requeridos por este) serão retidos. Isto é para a segurança do sistema.
Mas, da página de manual de apt-get
, dist-upgrade
is
dist-upgrade, além de executar a função de upgrade, também lida de forma inteligente com dependências variáveis com novas versões de pacotes; O apt-get tem um sistema de resolução de conflitos "inteligente" e tentará atualizar os pacotes mais importantes em detrimento dos menos importantes, se necessário. O comando dist-upgrade pode, portanto, remover alguns pacotes.
Então, aqui vemos, dist-upgrade
é mais brutal que o upgrade
. Ele tentará instalar versões mais recentes de pacotes importantes , mesmo que isso exija a remoção de alguns pacotes e / ou a instalação de pacotes mais novos. É por isso que o dist-upgrade pode desencadear a instalação / remoção de outros pacotes, como a sua situação na questão.
Observe também que um pacote pode ser held-back
para outros casos também, como pinagem. Se você fixar um pacote, isso não será atualizado.
held-back
também pode ocorrer quando uma versão mais nova do pacote não pode ser instalada devido à falta de um ou mais pacotes de dependência.
Gostaria de uma explicação detalhada do motivo pelo qual um pacote específico seria instalado ou removido recentemente.
Uma técnica útil seria anotar os nomes dos pacotes que serão instalados e verificar manualmente suas alterações de dependência entre as versões.
Para seu caso específico, você pode verificar a alteração de dependência de ubuntu-sdk
usando apt-cache depends ubuntu-sdk=<version-installed>
e apt-cache depends ubuntu-sdk=<version-candidate>
. Você verá versões mais recentes que exigem pacotes extras.
Você também pode usar aptitude safe-upgrade
(para upgrade
) ou aptitude full-upgrade
para ( dist-upgrade
) e enquanto estiver exibindo listas de pacotes para instalar e / ou remover, pressione d para ver a informação de dependência. Ou enquanto estiver usando full-upgrade
, você pode pressionar o para ver a solução de resolução de dependência proposta. Isso mostrará por que um pacote será instalado ou removido.
Verifique esses links para saber mais -