Quando uma atualização atualiza o kernel do Ubuntu?

1

Estou um pouco confuso com as atualizações do kernel do Ubuntu / Linux. Vindo de um background do Windows, eu espero que todas as atualizações estejam disponíveis através do gerenciador de atualização, no caso do Ubuntu apt/aptitude .

No entanto, se eu olhar para as versões de kernel de todos os nossos servidores (cerca de 60 deles) vejo muitos kernels diferentes entre 3.13.0-24-generic e 3.13.0-52-generic , apesar de estarem todos rodando o Ubuntu 14.04.2.

Se eu fizer login em um servidor com 3.13.0-24-generic em execução e executar uma atualização, nenhuma atualização será oferecida ao kernel.

Por que as novas versões do kernel não são instaladas / aplicadas com um apt-get upgrade e por que um do-release-upgrade não atualiza o kernel do mesmo (mais recente) kernel?

Alguém pode dar uma pequena experiência sobre como as atualizações do kernel do linux / ubuntu funcionam?

Observe que estou executando apt-get update antes de apt-get upgrade , mas não há atualizações de kernel instaladas.

Muito obrigado!

    
por user1167223 04.06.2015 / 17:43

5 respostas

2

Como o 4º número em uma versão do kernel é geralmente considerado um patch ... Eu diria que o sistema determinou que você não precisa daquele patch - ie o software instalado em seu sistema não tem a versão do patch do kernel como dependência. Também me diz que não é uma atualização de segurança.

Portanto, se nenhum software depender do patch 52 e todo o software instalado estiver correto com 24, presumo que ele não será instalado e o sistema deixará o kernel 24 sozinho.

    
por 04.06.2015 / 18:05
3

Toda versão do Ubuntu contém uma lista de kernel pré-instalado Para conhecer os kernels instalados, execute o seguinte comando no terminal:

dpkg -l | grep -Ei "linux-headers|linux-image"

o kernel é composto de arquivos como:

linux-headers-<version>_<version>_all.deb  
linux-headers-<version>-generic_<version>_<architecture>.deb  
linux-image-<version>-generic_<version>_<architecture>.deb  
linux-image-extra-<version>-generic_<version>_<architecture>.deb  

de acordo com a arquitetura do sistema (x86 ou x64) o-release-upgrade ou o apt-get upgrade irá atualizar todos os pacotes instalados, incluindo os pacotes do kernel, no entanto devemos escolher o kernel apropriado para inicializar a partir de

para baixar novos kernels, vá para kernel.ubuntu.com
baixe os arquivos e instale-os usando dpkg -i

Você também pode fazer o seguinte:

apt-cache search linux-image

Escolha o que você quer e faça:

sudo apt-get install linux-image-your_version_choice
    
por 04.06.2015 / 18:06
3

Seu problema pode estar relacionado a mal-entendidos em relação a apt . Os repositórios do Ubuntu estão mantendo apenas uma versão atual de um pacote.

Antes de executar apt-get upgrade , você precisa atualizar o cache de pacotes de apt . Ele precisa solicitar aos repositórios metadados atualizados. Caso contrário, apt não reconhecerá que há uma nova versão de um pacote (no seu caso, o pacote do kernel do Linux) disponível. Portanto, para realmente atualizar pacotes em seus servidores para uma versão mais nova, você precisa executar

sudo apt-get update && sudo apt-get upgrade
    
por 04.06.2015 / 18:45
1

A caixa só pegará o novo kernel depois que ele for reinicializado. Você pode ter um kernel mais novo já instalado, mas se a caixa não foi reiniciada, ainda não teve a chance de mudar para ele. Kernels recentes do Linux estão desenvolvendo tecnologia que permitiria uma atualização ao vivo do kernel, mas ainda é muito vanguardista.

    
por 04.06.2015 / 19:08
0

Não me lembro de qual versão a alteração ocorreu, mas há alguns anos o apt-get e o aptitude pararam de oferecer atualizações do kernel por padrão, a menos que você estivesse logado no servidor localmente. Se você está logando nos servidores remotamente (via ssh), você pode usar o comando

sudo apt-get update && sudo apt-get dist-upgrade

para incluir atualizações do kernel.

    
por 09.03.2016 / 20:31