Como uso o apt-get para atualizar para o kernel mais recente?

21

Meu kernel atual é 3.2.0-26 (meu computador principal) enquanto em outro dos meus computadores Ubuntu, com os quais não mexi em atualizações não oficiais, é 3.2.0-30. No entanto, o Gerenciador de atualizações no meu computador principal não mostra as atualizações disponíveis do kernel. No entanto, mostra outras atualizações.

Eu suspeito que seja devido ao fato de que no passado eu instalei várias versões principais do kernel (versões não recomendadas), até a série 3.5 *.

O que estou procurando: Qualquer um: Corrigir atualizações automáticas do kernel. Ou: Aprenda sobre uma maneira de verificar a versão oficial mais recente do kernel do ubuntu e obtê-la manualmente (eu sei como instalar kernels a partir de debs)

O que eu já tentei: kernels não utilizados não desinstalados, incluindo "o genérico sem número", conforme /ubuntu//a/103875/29347 e, em seguida, também https://ubuntugenius.wordpress.com/2011/01/ 08 / ubuntu-cleanup-how-to-remove-all-unused-linux-kernel-headers-images-and-modules /

Bucic
fonte

Respostas:

14

Seu problema com atualizações automáticas pode ser por causa dos kernels da linha principal ou porque você removeu o pacote "genérico".

Você pode atualizar para o kernel mais recente da apt-getseguinte maneira:

sudo apt-get update
sudo apt-get install linux-image-`uname -r`

Se você também precisar dos cabeçalhos (para compilar módulos do kernel, como drivers sem fio):

sudo apt-get install linux-headers-`uname -r`
ish
fonte
7
O retorno que recebo é 'linux-image-3.2.0-26-generic já é a versão mais recente.' enquanto na verdade não é (consulte a pergunta original). Tem certeza de que me deu os comandos de terminal corretos? Não sou especialista no assunto, mas para mim os comandos são traduzidos para "atualizar o kernel para a mesma versão que você já instalou e usa".
Bucic 14/09/12
7
Poderia explicar o que isso deve fazer? linux-image-`uname -r`apenas tenta reinstalar o kernel que você já possui, então como isso é útil?
Asad Saeeduddin
3

Caso você queira apenas atualizar o kernel padrão, consiga corrigi-lo com:

sudo apt-get install linux-image-generic

Como linux-image-genericsempre depende do kernel padrão mais recente da sua distribuição, o kernel é atualizado com o restante dos pacotes quando você executa apt-get upgrade.

Quando você deseja atualizar um kernel não padrão, você pode fazer isso executando este script:

#!/usr/bin/env bash

sudo apt-get update
kernel_release="$(uname -r | cut --complement -d'.' -f3)"
kernel_release_versions="$(apt-cache search linux-image-${kernel_release})"
kernel_release_versions_generic="$(grep linux-image-"${kernel_release_version}".*-generic <<< "$kernel_release_versions")"
newest_kernel_of_release="$(echo "$kernel_release_versions_generic" | tail -n1 | cut -d' ' -f1 )"

sudo apt-get install $newest_kernel_of_release

sudo apt-get dist-upgrade

Se você também precisar dos arquivos de cabeçalho, execute o seguinte:

newest_kernel_of_release_headers=${newest_kernel_of_release/image/headers}

sudo apt-get install $newest_kernel_of_release_headers
user6105651
fonte
1
Eu acho que OP está à procura de mais recente linha principal kernel / estável
WinEunuuchs2Unix