Qual é a lógica por trás dos pacotes de kernel?

4

Espero que alguém com um pouco mais de conhecimento possa explicar algo sobre fazer apt-get upgrade no Ubuntu 16.04 e posterior.

O comportamento que estou vendo é que apt-get upgrade às vezes não instala novos pacotes do kernel e algumas vezes irá:

i.e. da saída:

The following packages have been kept back:
linux-generic linux-headers-generic linux-image-generic linux-tools-generic

Eu faço sei que fazer um dist-upgrade irá instalar esses pacotes (então não repita essa resposta :-). O que eu não sei é o que está controlando os porões nesses pacotes.
Às vezes, novos kernels são instalados ao fazer um apt-get upgrade e algumas vezes os pacotes são mantidos.

Esses bloqueios estão sendo colocados pela própria Canonical? Eles estão relacionados a dependências de outros pacotes?

    
por Dave LeFevre 02.06.2017 / 14:56

1 resposta

5

O comando apt-get upgrade apenas atualiza os pacotes para sua versão mais recente, não instalará um novo pacote ou não removerá nenhum para atualizar um pacote.

Quando você está atualizando seu Kernel, você está realmente instalando um novo Kernel. O Ubuntu não atualizará um kernel, ele instalará um novo enquanto mantém o antigo.

Mas por quê? Por que instalamos uma nova versão do kernel em vez de atualizá-lo para a última versão? a resposta é por causa da estabilidade.

Você nunca sabe o que acontece após uma atualização do Kernel, pode falhar ao inicializar seu sistema ou fazer com que seu hardware funcione corretamente. Você deve sempre manter a versão antiga para que, em caso de qualquer problema, você ainda tenha uma máquina em funcionamento.

  

Nunca atualize seu kernel funcional.

Diz o guia de atualização do sistema do Slackware.

Mais informações

man apt-get :

  

sob nenhuma circunstância pacotes atualmente instalados são removidos, ou              pacotes ainda não instalados recuperados e instalados. Novas versões de              pacotes atualmente instalados que não podem ser atualizados sem alterar o              O status de instalação de outro pacote será deixado em sua versão atual.

No entanto, como você sabe, você pode usar apt-get dist-upgrade ou apt upgrade para instalar esses pacotes "mantidos para trás" também.

$ apt-cache search linux-image-4.4.*-generic | tail -3
linux-image-4.4.0-75-generic - Linux kernel image for version 4.4.0 on 64 bit x86 SMP
linux-image-4.4.0-77-generic - Linux kernel image for version 4.4.0 on 64 bit x86 SMP
linux-image-4.4.0-78-generic - Linux kernel image for version 4.4.0 on 64 bit x86 SMP

ver? estes são pacotes diferentes, portanto, uma nova instalação em vez de atualização.

    
por Ravexina 02.06.2017 / 15:09