Como atualizar o kernel para a última versão mainline sem qualquer distro-upgrade?

127

Atualmente estou executando o Linux-3.0 e quero atualizá-lo para o Linux-3.3.1, a última versão estável do kernel, conforme mencionado no link . Posso atualizar para o 3.3.1 no Ubuntu sem nenhum risco de falhas? Estou atualizando meu kernel regularmente, conforme fornecido pelo Gerenciador de Atualizações. Atualmente, tenho Linux- 3.0.0.17 . Posso atualizar?

NOTA:

A última versão do kernel que qualquer usuário deve usar no Ubuntu é atualizada automaticamente através do Gerenciador de Atualizações, portanto nenhuma ação é normalmente requerida pelo usuário em relação às atualizações do kernel. O que o autor da questão está se referindo é mainline kernel , veja: Devo atualizar para os kernels" mainline "?

    
por Suchith JN 05.04.2012 / 07:30

13 respostas

112

O conjunto mais simples de instruções que eu sempre usei para atualização / downgrade do kernel é pelo usuário ubuntuforums.org com o nome de lykwydchykyn (url modificado por me para este post):

  1. Clique aqui: link
  2. Baixe 3 (talvez 4) debs para uma pasta em algum lugar:

    linux-headers-VERSION-NUMBER_all.deb
    linux-headers-VERSION-NUMBER_amd64.deb
    linux-image-VERSION-NUMBER_amd64.deb
    linux-image-extra-VERSION-NUMBER_amd64.deb   # if available
    
  3. Instale os debs em qualquer gerenciador de pacotes front-end que você usar (o gdebi ainda está por aí?), ou use estes comandos:

    cd /path/to/folder/where/you/put/the/debs
    sudo dpkg -i *.deb
    

Fontes:

por Bucic 25.05.2012 / 10:47
62

Você sempre 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 linux-headers-your_version_choice linux-image-extra-your_version_choice
    
por user118932 05.01.2013 / 09:55
23

Minha resposta é sim, você pode. A versão estável foi 3.4, mas neste tutorial eu uso 3.3.1.

PAE genérico do Ubuntu (32 bits):

Execute os seguintes comandos:

mkdir kernel\ v3.3.1-precise && cd kernel\ v3.3.1-precise
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.3.1-precise/linux-headers-3.3.1-030301-generic-pae_3.3.1-030301.201204021435_i386.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.3.1-precise/linux-headers-3.3.1-030301_3.3.1-030301.201204021435_all.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.3.1-precise/linux-image-3.3.1-030301-generic-pae_3.3.1-030301.201204021435_i386.deb
sudo dpkg -i linux-*.deb 
sudo update-grub
sudo reboot now

Ubuntu (64 bits):

Execute os seguintes comandos:

mkdir kernel\ v3.3.1-precise && cd kernel\ v3.3.1-precise
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.3.1-precise/linux-headers-3.3.1-030301-generic_3.3.1-030301.201204021435_amd64.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.3.1-precise/linux-headers-3.3.1-030301_3.3.1-030301.201204021435_all.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.3.1-precise/linux-image-3.3.1-030301-generic_3.3.1-030301.201204021435_amd64.deb
sudo dpkg -i linux-*.deb 
sudo update-grub
sudo reboot now

Aproveite!

    
por penreturns 23.09.2012 / 22:10
8

Ao contrário de algumas respostas aqui, o Ubuntu lança o novo kernel dentro de um dia ou dois da equipe principal do kernel. Eu usei para atualizar da maneira mais difícil, como algumas das respostas aqui sugerem, mas eu achei que esta é uma maneira mais fácil.

Implicações da instalação manual do Kernels

A instalação manual de kernels requer trabalho extra.

Existem razões pelas quais você deseja instalar o kernel principal mais recente:

  • Um bug na última atualização do kernel do Ubuntu LTS e você não pode fazer downgrade
  • Você tem hardware novo não suportado no atual fluxo de atualização de kernel do Ubuntu LTS ou atualizações de HWE
  • Você deseja uma atualização de segurança ou um novo recurso disponível apenas na versão mais recente do kernel principal.

A partir de 15 de janeiro de 2018, o último kernel da linha principal estável é 4.14.13 . No momento em que escrevo, muitos estão interessados em instalá-lo para proteção contra falhas de segurança do Meltdown. Se você optar por instalá-lo manualmente, deverá saber:

  • Os kernels LTS mais antigos não serão sejam atualizados até que sejam maiores que a primeira opção do menu principal, chamada Ubuntu .
  • Os kernels instalados manualmente não são removidos com o comando usual sudo apt auto-remove . Você precisa seguir isto: Como faço para remover versões antigas do kernel para limpar o menu de inicialização?
  • Monitore os desenvolvimentos nos kernels mais antigos para quando você quiser voltar ao método normal de atualização do kernel LTS. Em seguida, exclua o kernel da linha principal manualmente instalado, conforme descrito no link do ponto de marcador anterior.
  • Depois de remover manualmente o kernel mais recente, execute sudo update-grub e o kernel LTS mais recente do Ubuntu será a primeira opção chamada Ubuntu no menu principal do Grub.

Encontrando o kernel mais recente

Vá para ( kernel.ubuntu.com - Kernel PPA Mainline ) e pressione o botão Fim da chave :

Agora clique no link 4.9.8 (ou um mais novo se disponível quando você ler isto) e aparecerá o seguinte:

Observe os links com as marcas do aerógrafo preto. Estes são os três que serão baixados para Ubuntu 16.04 64-Bit usando processadores Intel ou AMD .

Instalando usando o terminal

Abra uma sessão de terminal com Ctrl + Alt + T e use:

cd ~/Downloads # Change to your downloads directory
ll linux*.deb  # Check if any previous downloads still exist
rm linux*.deb  # Use this command if any previous downloads found

Agora volte para a tela de download acima e clique uma vez em todos os três downloads do kernel .deb . Depois de concluir os downloads (você verá o status no seu navegador), volte para a sessão de terminal e use:

sudo dpkg -i linux*.deb
rm linux*.deb
sudo reboot

Voila! - você está executando o kernel mais recente quando a primeira opção no menu de inicialização do grub é selecionada. Suas versões antigas do kernel ainda estão disponíveis no menu Opções avançadas do grub.

Depois de instalar o kernel mais recente uma dúzia de vezes, você fará a pergunta " Como remover versões antigas do kernel? " e você encontrará as respostas aqui em Ask Ubuntu .

    
por WinEunuuchs2Unix 20.02.2017 / 01:23
6

Existe uma maneira muito mais simples de fazer isso, e é assim que eu uso. Simplesmente faça o download do script Atualizador do Kernel do Ubuntu Principal e execute-o a partir de um terminal. Ele irá baixar os .deb's para você, instalar o novo kernel e, opcionalmente, remover o antigo (não recomendado) e, em seguida, opcionalmente, reinicializar.

Exemplo de saída (copiada do meu terminal):

[email protected]:~$ sudo KernelUpdateChecker -no-rc -r utopic
Run this command to install the new kernel
/tmp/kernel-update
[email protected]:~# /tmp/kernel-update
Config Notes:
Rejecting Release Candidates
Accepting Latest Kernel
Accepting kernels compiled for utopic
Accepting kernels with a version higher than 3.15.0-031500-lowlatency

Information:
Origin: 
    http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.15.1-utopic
Kernel Version:
    3.15.1-031501
Release Date:
    2014/06/16 @ 18:41 (YYYY/MM/DD @ HH:MM)

Care to look at the change log? (y=Yes, n=No) (n)

(download output skipped)    

Greetings root
    I (the-black-beast) am now self aware and a sentient being, have a nice day.
    Oh and by the way SKYNET is now active.

Installing Linux 3.15.1-031501:

(installer output skipped)

The New Kernel looks to have been installed

WARNING: If the new kernel does not boot you may regret saying yes here.
Would you like to remove the current one? (y=Yes, n=No) (n): n

Are you ready to Reboot? (y=Yes, n=No) (n): n

Quase totalmente automatizado e completamente livre de problemas.

    
por Seann 20.06.2014 / 16:06
6

Eu escrevi um roteiro e sempre atualizarei.

ukupgrade: atualização do kernel do Ubuntu

  • Abra seu terminal favorito e execute os seguintes comandos
  • Conceder permissão executável ao arquivo

    chmod +x ./ukupgrade

  • Chame o script

    ./ukupgrade

por muhasturk 03.09.2014 / 03:44
6

Execute os seguintes comandos do Terminal para instalar um novo kernel principal do Ubuntu .

sudo apt-get update
sudo apt-get install python-bs4
cd /tmp
rm -rf medigeek-kmp*
wget https://github.com/medigeek/kmp-downloader/tarball/master -O kmpd.tar.gz
tar xzf kmpd.tar.gz
cd medigeek-*
python kmpd.py -d

O script está hospedado no Github . Basta pressionar Enter em vez de um número se você ficar preso em uma determinada questão no script Python.

    
por user145058 28.03.2013 / 16:31
6

recente mas nova resposta.

Eu adicionarei mais algumas informações na minha resposta. Agora meu kernel antigo era linux-headers-4.8.0-53 . Para descobrir qual kernel você tem o tipo uname -r no terminal. Agora digite este comando para obter uma lista de kernels disponíveis.

apt-cache search linux-image

isto lhe dará uma saída muito grande. Agora escolha um deles que você deseja instalar e instalar seguindo os comandos (não digite esses comandos como este, substitua a palavra kernal_version pela versão do kernel que você deseja instalar)

sudo apt-get install linux-image-kernal_version
sudo apt-get install linux-image-extra-kernal_version
sudo apt-get install linux-headers-kernal_version

Agora, no meu caso, escolho linux-image-4.10.0-22-generic , então meu comando ficará assim

sudo apt-get install linux-image-4.10.0-22-generic 
sudo apt-get install linux-image-extra-4.10.0-22-generic
sudo apt-get install linux-headers-4.10.0-22-generic

agora no final, remova o kernel antigo pelo comando

sudo apt-get autoremove

Agora, quando eu fiz isso pela primeira vez, não sei se é problema de hardware ou se removi o kernel antigo, mas meu laptop mostra uma tela preta que acontece com meu laptop às vezes .Assim eu removo a bateria e reiniciei e digitei o comando. Também não sofro do meu problema de tela preta mais.

uname -r

e isso me dá

linux-image-4.10.0-22-generic

que significa que o kernel é atualizado.

    
por SmitTheLastFirefoxUser 17.06.2017 / 07:33
4

Se você não quer passar pelo incômodo para atualizar manualmente o kernel, você pode tentar o UUKU. Funciona bem mesmo em derivados do Ubuntu, como elementar, menta.

Eu usei para consertar meu problema de Wi-Fi, pois algumas vezes um novo hardware não é detectado pelo kernel antigo. Além da atualização do driver de hardware, não acho necessário atualizar o kernel. Os novos kernels têm segurança e leve atualização de desempenho, mas também têm tendência a quebrar coisas como sua VM.

sudo apt-add-repository -y ppa:teejee2008/ppa
sudo apt-get update
sudo apt-get install ukuu
ukuu-gtk

FONTE:

link

link

    
por ubu 25.04.2017 / 20:04
3

Outra opção é tentar compilações personalizadas e otimizadas, como este kernel 3.2.1 i3 / i5 / i7 otimizado para Ubuntu:

DuoPetalFlower, minhas experiências com o Linux - kernel 3.2.1

Ele também possui versões otimizadas da Intel que podem funcionar muito bem se você estiver tentando extrair o máximo de desempenho de um netbook.

Existem outros kernels como o Liquorix que afirmam ser melhor otimizados para o desempenho do desktop.

Embora não seja recomendado por alguns, muitas vezes é possível executar kernels oficiais de versões posteriores do Ubuntu sem problemas. Atualmente estou executando o kernel preciso do 3.3.3 no oneiric e minha máquina funciona melhor do que nunca. Performance & amp; a duração da bateria aumentou, enquanto as temperaturas caíram alguns graus. Meu problema de uma tela preta ao sair do modo de espera também desapareceu. Embora eu pessoalmente não tenha tido problemas em usar novos kernels, você encontrará algumas pessoas que são strongmente contra isso.

    
por Veazer 26.04.2012 / 14:45
2

Como você viu, o Ubuntu fornece versões do kernel do Linux, mas nem sempre tão rápido quanto elas são lançadas, você pode sempre compilar o kernel 3.3.1, mas isso pode ser mais um esforço do que você estava procurando. para. Se não, pesquise e tenho certeza que você encontrará um tutorial que você pode seguir, como este . (note que eu não chequei aquele completamente assim seja cauteloso como os núcleos são feras perigosas)

    
por agc93 05.04.2012 / 07:47
2

Nenhuma das respostas acima satisfez meu problema de atualizar manualmente o kernel para a última versão estável. (Meu laptop atual é muito sensível aos RCs, Dell XPS 9365).

Eu criei um script de shell que procura versões mais recentes do kernel e as mostra como opções a serem instaladas. Você pode tentar, está no github , leia o README.

    
por Philippe Delteil 18.10.2017 / 20:37
2

Eu criei este script kernel-upgrade.sh que baixa e instala um kernel selecionado do link :

TMP=/var/tmp/kernel
mkdir -p "$TMP" && cd "$TMP"
rm -f "$TMP"/*
F=v4.16-rc6
V=4.16.0-041600rc6
R=$(wget -qO - "http://kernel.ubuntu.com/~kernel-ppa/mainline/$F/0005-debian-changelog.patch" | sed -ne '/^+linux/{s/.*\.\([0-9]\+\)).*//p;q}')
B="$V.$R"
URL=http://kernel.ubuntu.com/~kernel-ppa/mainline
set -x
wget "$URL/$F/linux-headers-$V-generic_${B}_amd64.deb" \
    "$URL/$F/linux-headers-${V}_${B}_all.deb" \
    "$URL/$F/linux-image-$V-generic_${B}_amd64.deb"
sudo dpkg -i "linux-headers-$V-generic_${B}_amd64.deb" \
    "linux-headers-${V}_${B}_all.deb linux-image-$V-generic_${B}_amd64.deb"
# now enter: sudo reboot now

No caso do Ubuntu não iniciar com o novo kernel, você pode selecionar "advanced settings" no seu menu grub e selecionar para iniciar o último kernel rodando lá.

Nota: desde o 4.15-rc7 o kernel tem a correção do KPTI contra os ataques de fusão e desde o 4.15.1 para o "Specter Variant 2, Mitigation 2"  (verifique com link )

    
por rubo77 11.10.2017 / 02:37