¿Cómo actualizar el núcleo a la última versión de la línea principal sin ninguna actualización de Distro?


146

Actualmente estoy ejecutando Linux-3.0 y quiero actualizarlo a Linux-3.3.1, la última versión estable del kernel como se menciona en http://www.kernel.org . ¿Puedo actualizar a 3.3.1 en Ubuntu sin riesgo de fallas? Estoy actualizando mi kernel regularmente según lo provisto por el Administrador de actualizaciones ... Actualmente tengo Linux- 3.0.0.17 .. ¿Puedo actualizar?

NOTA:

La última versión del kernel que se supone que debe usar cualquier usuario en Ubuntu se actualiza automáticamente a través del Administrador de actualizaciones, por lo que el usuario normalmente no requiere ninguna acción con respecto a las actualizaciones del kernel. A lo que se refiere el autor de la pregunta es al núcleo de la línea principal , vea: ¿Debo actualizar a los núcleos de la "línea principal"?


Respuestas:


121

El conjunto más simple de instrucciones que siempre utilicé para la actualización / degradación del kernel son por usuario de ubuntuforums.org con el nombre de lykwydchykyn (url modificada por mí para esta publicación):

  1. Vaya aquí: http://kernel.ubuntu.com/~kernel-ppa/mainline/
  2. Descargue 3 (quizás 4) debs a una carpeta en algún 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 las debs con cualquier front-end de administrador de paquetes que use (¿gdebi todavía está disponible?), O use estos comandos:

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

Fuentes:


3
Por ejemplo, aquí encontrará dos versiones para cada arquitectura: lowlatencyy generic, ¿cuál tomar? kernel.ubuntu.com/~kernel-ppa/mainline/v3.14.1-trusty
rubo77

Sin suerte. Venía del núcleo de baja latencia utópico de 64 bits (3.16.0-31) en el repositorio estándar. Actualicé a v3.16.7-ckt8 (linux-image-3.16.7-031607-lowlatency_3.16.7-031607.201503111033_amd64.deb) que se está ejecutando pero todavía no tiene trackpad. Esto es para un Acer C710.
Ubuntourist

Tuve problemas con la superficie táctil. Mi BIOS predeterminada estaba configurada en modo avanzado. Dice en la BIOS que puede haber problemas al usar el modo avanzado sin un controlador. Sin embargo, el modo básico funciona bien en ubuntu. ¡Desafortunadamente, el modo básico funciona terrible en Windows! Espero que esto ayude de la manera fácil.
Bhikkhu Subhuti

1
Para completar, además de los pasos de @ Bucic: (4) acepte el nuevo cargador de arranque grub (primera opción). Esto es probablemente lo que la mayoría de la gente necesita. En caso de que desee ver exactamente qué cambios, haga una comparación para verificar, pero probablemente solo reescribirá su archivo de configuración de Grub con la nueva información del núcleo que desee. (5) reiniciar. Además, esta es la ruta más segura, que también actualizar su versión de Linux: sudo apt-get update && sudo apt-get dist-upgrade && sudo reboot. En cualquiera de los casos, después de reiniciar, ejecute echo $(uname -r)para confirmar que arrancó con éxito en su nuevo núcleo.
Manuel J. Diaz

1
@ rubo77 en baja latencia vs genérico: askubuntu.com/questions/126664/…
Noremac

70

Siempre puedes hacer lo siguiente:

apt-cache search linux-image

Elige el que quieras y luego haz:

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

44
Eso no daría un núcleo principal ; más bien, daría una compilación de Ubuntu (del número de versión especificado).
Eliah Kagan

14
Sin embargo, probablemente sea mejor que ir con una línea principal , ya que ha sido aplicada para el sistema operativo de destino.
quickshiftin

Funcionó como un encanto en Debian 8. ¡Gracias!
GTodorov

99
no olvide instalar también los encabezados del núcleo: sudo apt-get install linux-headers- [versión] -generic. [versión] debería ser la misma que la versión del núcleo
mauek unak

1
Esta entrada debe cambiarse para que también indique al usuario que instale el paquete linux-image-extra porque sin él algunas cosas podrían no funcionar, como un teclado USB que usa para ingresar la contraseña para descifrar su disco.
wojci

24

Mi respuesta es, SÍ puedes. La versión estable era 3.4, pero en este tutorial uso 3.3.1.

Ubuntu (32 bits) PAE genérico:

Ejecute los siguientes 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):

Ejecute los siguientes 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

¡Disfrutar!


Instalo el kernel 3.8.5-raring como dijiste en mi Ubuntu 12.04. pero ahora mi sistema operativo está inactivo y no hay cli ni ningún menú de grub. sólo de pensar.
shgnInc

Bueno pero necesita ser actualizado. Recomiendo encontrar la versión y luego google cómo instalarla. Haga clic en las páginas hasta que encuentre algo como esto. Para rc6 encontré esto yourownlinux.com/2016/03/…
Bhikkhu Subhuti

12

Contrariamente a algunas respuestas aquí, Ubuntu lanza el nuevo núcleo dentro de un día o dos del equipo principal del núcleo. Solía ​​actualizar de la manera difícil como sugieren algunas de las respuestas aquí, pero descubrí que esta es una manera más fácil.

Implicaciones de instalar Kernels manualmente

La instalación manual de los núcleos requiere un trabajo adicional.

Hay razones por las que desea instalar el último núcleo de la línea principal:

  • Un error en la última actualización del kernel Ubuntu LTS y no puede degradar
  • Tiene nuevo hardware no admitido en la corriente de actualización del núcleo Ubuntu LTS actual o actualizaciones HWE
  • Desea una actualización de seguridad o una nueva función solo disponible en la última versión del núcleo de la línea principal.

A partir del 15 de enero de 2018, el último núcleo estable estable es 4.14.13. Al momento de escribir este artículo, muchos están interesados ​​en instalarlo para protección contra el agujero de seguridad de Meltdown. Si elige instalarlo manualmente, debe saber:

  • Los núcleos LTS más antiguos no se actualizarán hasta que sean mayores que la primera opción del menú principal titulada Ubuntu .
  • Los núcleos instalados manualmente no se eliminan con el sudo apt auto-removecomando habitual . Debe seguir esto: ¿Cómo elimino las versiones antiguas del kernel para limpiar el menú de arranque?
  • Monitoree los desarrollos en los núcleos más antiguos para cuando desee volver al método de actualización del núcleo LTS habitual. Luego elimine el núcleo de línea principal instalado manualmente como se describe en el enlace anterior de viñeta.
  • Después de eliminar manualmente la ejecución más reciente del núcleo de la línea principal sudo update-gruby luego el último núcleo LTS de Ubuntu será la primera opción llamada Ubuntu en el menú principal de Grub.

Encontrar el último núcleo

Vaya a ( kernel.ubuntu.com - Kernel PPA Mainline ) y presione la Endtecla:

Núcleo principal 1

Ahora haga clic en el enlace 4.9.8(o uno más nuevo si está disponible cuando lea esto) y aparecerá lo siguiente:

núcleo principal 2

Tenga en cuenta los enlaces con las marcas negras del aerógrafo. Estos son los tres que descargaremos para Ubuntu 16.04 de 64 bits con procesadores Intel o AMD .

Instalación usando Terminal

Abra una sesión de terminal con Ctrl+ Alt+ Ty 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

Ahora vuelva a la pantalla de descarga de arriba y haga un solo clic en las tres .debdescargas del núcleo. Una vez completadas las descargas (verá el estado en su navegador), vuelva a la sesión de terminal y use:

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

Voila! - está ejecutando el último kernel cuando se selecciona la primera opción en el menú de arranque de grub. Las versiones anteriores del kernel todavía están disponibles en el menú de Opciones avanzadas de grub .

Después de instalar el kernel más nuevo una docena de veces, se hará la pregunta " ¿Cómo elimino las versiones más antiguas del kernel? " Y encontrará esas respuestas aquí en Ask Ubuntu .


Deberías responder a esta diciendo "No te compliques la vida".
Fabby

9

Tarde pero nueva respuesta.

Agregaré algo más de información en mi respuesta. Ahora mi núcleo anterior era linux-headers-4.8.0-53. Para averiguar qué núcleo tiene uname -ren la terminal. Ahora escriba este comando para obtener una lista de los núcleos disponibles.

apt-cache search linux-image

esto le dará una salida muy grande. Ahora elija uno de ellos que desea instalar e instálelo siguiendo los comandos (No escriba estos comandos de esta manera, reemplace la palabra kernal_version con la versión del núcleo que desea 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

Ahora en mi caso elijo linux-image-4.10.0-22-genericpara que mi comando se vea así

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

ahora al final elimine el kernel viejo por comando

sudo apt-get autoremove

Ahora la primera vez que lo hice, no sé es que mi problema de hardware o debido a la eliminación del núcleo antiguo, pero mi portátil me muestra la pantalla en negro que pasa a mi ordenador portátil veces .Así lo quito de la batería y reinicié y escribí el comando Además, ya no sufro mi problema con la pantalla en negro .

uname -r

y me da

linux-image-4.10.0-22-generic

lo que significa que el kernel está actualizado.


3
El problema de la pantalla negra puede deberse a que eliminó el núcleo en uso. Después de instalar el nuevo kernel, debe reiniciar. Luego quite el núcleo viejo.
ravery

Gran respuesta. Aunque las cosas han cambiado un poco ahora, tuve que cambiar linux-image-extraa linux-modules-extrauna versión 4.18.0-22-genericpara que esto funcione.
Ciervo

7

Hay una manera mucho más simple de hacer esto, y es la forma en que uso. Simplemente descargue el script Ubuntu Mainline Kernel Updater y ejecútelo desde un terminal. Descargará los .deb para usted, instalará el nuevo kernel y, opcionalmente, eliminará el antiguo (no recomendado) y luego reiniciará opcionalmente.

Ejemplo de salida (copiado de mi terminal):

evilsupahfly@the-black-beast:~$ sudo KernelUpdateChecker -no-rc -r utopic
Run this command to install the new kernel
/tmp/kernel-update
root@the-black-beast:~# /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

Casi completamente automatizado y completamente libre de problemas.


6

Escribí un guión y siempre estaré actualizado.

ukupgrade: actualización del kernel de Ubuntu

  • Abra su terminal favorito y ejecute los siguientes comandos
  • Dar permiso ejecutable para presentar

    chmod +x ./ukupgrade

  • Llamar al guión

    ./ukupgrade


1
Este fue el mejor.
Ali

sigue instalando la versión de baja latencia cuando solicita genéricos ~
user2413

No conocía esta herramienta, así que también escribí una herramienta similar, que también admite la selección del sabor genérico / de baja latencia. Puede encontrarlo aquí: github.com/cristim/kernel-update
Cristian Măgherușan-Stanciu

6

Ejecute los siguientes comandos de Terminal para instalar un nuevo núcleo de Ubuntu mainline .

sudo apt-get update
sudo apt-get install python-bs4 python-apt
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

El guión está alojado en Github . Simplemente presione en Enterlugar de un número si se queda atrapado en una pregunta determinada en el script de Python.


3
Soy el autor de ese guión. Lo acabo de arreglar. Presente informes de errores, la mayoría de las veces los programadores no saben que existen errores hasta que alguien presente un informe. :)
Savvas Radevic

¿Cuál es la ventaja de su secuencia de comandos de solo hacer la instalación del debpaquete como se describe en la mejor respuesta aquí?
rubo77

Estaba pensando en este tipo de herramienta desde que me bloqueé porque apt no instaló dependencias para mí. Se podría pensar que apt tenía que ver con dependencias. Incorrecto. Se puede actualizar un script para la última versión o buscar uno y dejar que el usuario elija. Dicho todo esto, si vuelvo a activar mi sistema, iré directo desde que encontré los comandos de terminal para rc6
Bhikkhu Subhuti

@SavvasRadevicImportError: No module named apt_pkg
Yahya

1
@SavvasRadevic Ya lo hice, pero solo informaba según su solicitud.
Yahya

5

Si no desea pasar por la molestia de actualizar manualmente el kernel, puede probar UUKU. Funciona bien incluso en derivados de Ubuntu como elementory, mint.

Lo utilicé para solucionar mi problema de WiFi, ya que a veces el hardware antiguo no detectará algún hardware nuevo. Aparte de la actualización del controlador de hardware, no encuentro la necesidad de actualizar el kernel. Los nuevos núcleos tienen seguridad y una ligera actualización de rendimiento, pero también tienen tendencia a romper cosas como su VM.

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

FUENTE:

http://www.makeuseof.com/tag/upgrade-kernel-ukuu-ubuntu/

http://www.teejeetech.in/2016/07/ukuu-v167.html?m=1


3

Otra opción es probar compilaciones personalizadas y optimizadas, como este kernel 3.2.1 optimizado para Ubuntu i3 / i5 / i7:

DuoPetalFlower, Mis experimentos con Linux - kernel 3.2.1

También tiene compilaciones optimizadas para el átomo de Intel que pueden funcionar bastante bien si está tratando de exprimir hasta la última gota de rendimiento de una netbook.

Hay otros núcleos como Liquorix que afirman estar mejor optimizados para el rendimiento del escritorio.

Aunque no lo recomiendan algunos, a menudo puede ejecutar núcleos oficiales desde versiones posteriores de Ubuntu sin problemas. Actualmente estoy ejecutando el kernel preciso 3.3.3 en oneiric y mi máquina funciona mejor que nunca. El rendimiento y la duración de la batería aumentaron, mientras que las temperaturas cayeron algunos grados. Mi problema de una pantalla en negro al reanudar desde el modo en espera también ha desaparecido. Aunque personalmente no he tenido problemas con el uso de núcleos más nuevos, encontrará algunas personas que se oponen firmemente a hacerlo.


2

Como ha visto, Ubuntu proporciona versiones del kernel de Linux, pero no siempre tan rápido como se publican en sentido ascendente, siempre puede compilar el kernel 3.3.1 usted mismo, pero eso puede ser más esfuerzo de lo que estaba buscando. De lo contrario, busque y estoy seguro de que encontrará un tutorial que puede seguir, como este . (tenga en cuenta que no lo he comprobado a fondo, así que tenga cuidado ya que los granos son bestias peligrosas)


2

Ninguna de las respuestas anteriores satisfizo mi problema de actualizar manualmente el kernel a la última versión estable. (Mi computadora portátil actual es muy sensible a los RC, Dell XPS 9365).

Creé un script de shell que busca versiones de kernel más recientes y las muestra como opciones para instalar. Puede intentarlo, está en github , asegúrese de leer el archivo README.


2

Creé este script kernel-upgrade.shque descarga e instala un kernel seleccionado de http://kernel.ubuntu.com/~kernel-ppa/mainline :

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]\+\)).*/\1/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

En caso de que Ubuntu no comience con el nuevo núcleo, puede seleccionar "configuración avanzada" en su menú de grub y seleccionar para iniciar el último núcleo en ejecución allí.


Nota: desde 4.15-rc7 el núcleo tiene la solución KPTI contra ataques de fusión y desde 4.15.1 para "Spectre Variant 2, Mitigation 2" (verifique con http://github.com/speed47/spectre-meltdown-checker/ )


Tengo algunas dificultades para ejecutar este script. Puede que esté haciendo algo mal, así que aquí están mis pasos: 1. Inhabilitó el arranque seguro en el BIOS, 2. guardó el script en kernel-upgrade.sh, y chmod 777 kernel-upgrade.sh. Luego lo ejecuté como sudo ./kernel-upgrade.sh. Entonces recibo los errores rm: cannot remove '/var/tmp/kernel/*': No such file or directory:; luego ++ wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.16...<truncando url> `Conectando a kernel.ubuntu.com (kernel.ubuntu.com) | 91.189.94.216 |: 80 ... conectado. Solicitud HTTP enviada, esperando respuesta ... 404 no encontrado` El 404 ocurre 3x
Ensalada sobrante

La primera advertencia rmpodría ser ignorada (agregué rm -fahora). el resto no está claro, cuál es el problema. truncar la URL aquí no está ayudando, resolviendo el problema. ¿Puedes publicar la salida en pastebin.com , para que podamos ver cuál sería la URL resultante?
rubo77


También si es importante, estoy ejecutando ubuntu 17.10
Sobras de ensalada


2

para instalar el último kernel instale Ubuntu Kernel Update Utility

$ sudo add-apt-repository ppa:teejee2008/ppa

$ sudo apt-get install ukuu

deshabilite el control de acceso con el siguiente comando:

$ sudo xhost +

luego instalar con ukuu

$ sudo ukuu

$ sudo ukuu --install-latest

luego corre por seguro

$ sudo xhost -

y reiniciar

$ sudo reboot

si desea ver una lista de todas las versiones del kernel, use 'sudo ukuu --list'.
Vitaliy LiBrus

si quieres ver otras opciones de ukuu escribe 'ukuu --help'
Vitaliy LiBrus

¿No deberías hacerlo sudo xhost -después de que hayas terminado? (compare: github.com/teejee2008/ukuu/issues/25#issuecomment-341501666 )
estudiante

@estudiante, sí, gracias! Lo agregué a la lista de pasos
Vitaliy LiBrus

0

Verifique la versión de su kernel $ uname -sr

Descarga Kernel v5 para 32 bits

$ wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.0/linux-headers-5.0.0-050000_5.0.0-050000.201903032031_all.deb $ wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.0/linux-headers-5.0.0-050000-generic_5.0.0-050000.201903032031_i386.deb $ wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.0/linux-image-5.0.0-050000-generic_5.0.0-050000.201903032031_i386.deb $ wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.0/linux-modules-5.0.0-050000-generic_5.0.0-050000.201903032031_i386.deb

Descarga Kernel v5 para 64 bit

$ wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.0/linux-headers-5.0.0-050000_5.0.0-050000.201903032031_all.deb $ wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.0/linux-headers-5.0.0-050000-generic_5.0.0-050000.201903032031_amd64.deb $ wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.0/linux-image-unsigned-5.0.0-050000-generic_5.0.0-050000.201903032031_amd64.deb $ wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.0/linux-modules-5.0.0-050000-generic_5.0.0-050000.201903032031_amd64.deb

Instalarlo

$ sudo dpkg -i *.deb

Luego reiniciar

sudo reboot

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.