Muy buenas lector, si eres usuario de las ediciones LTS de Ubuntu, seguramente sabrás que, al disponer de un ciclo de vida más largo (concretamente 5 años) que las versiones regulares, cada cierto tiempo se publican imágenes de descarga en forma de Point Release que engloban todas las actualizaciones y parches habidos hasta la fecha.

Debido a su ciclo de vida más extenso, es de suponer que el Kernel con el que nace, a lo largo de los 5 años de vida de estas ediciones se irá quedando obsoleto en muchos aspectos. En esta guía verás como actualizar el Kernel de Linux y el stack gráfico en estas ediciones de Ubuntu. Empecemos

Anuncios

Tabla de contenidos:

¿Cómo Saber la Versión del Kernel que Utilizas?

Obviamente, antes que explicar nada, es importante que sepas que versión del kernel tienes y cual es la arquitectura de tu sistema. Si eres un usuario algo avanzado, es muy probable que sabiendo la versión de Ubuntu de que dispones, ya sepas la versión del Kernel que lleva. Aun así, si no eres un usuario tan experimentado es posible que sea algo que desconozcas.

Bien, aparte de revisar las notas oficiales de tu versión, esta información la puedes conocer con un simple comando de terminal. Para ello, tan solo abre una ventana de terminal y teclea la siguiente sentencia:

uname -a

La salida del comando te informará no sólo de la versión del kernel, sino también de la arquitectura de tu sistema (generalmente 32 bits o 64 bits).

Hay muchos más comandos que te pueden servir para esto, así que si quieres profundizar más en ello, te dejo con este post en el que conocerás con más detalle cuales son los comandos más utiles para extraer información del sistema. Ahora si que, hecho este pequeño paréntesis, podemos pasar a lo que nos interesa.

Que es el Hardware Enablement Stack de las LTS

Cada versión LTS de Ubuntu dispone de un total de 5 revisiones o Point Releases (en la LTS actual se corresponderían con la 18.04.1, 18.04.2, y así sucesivamente hasta la 18.04.5).

Hasta la 12.04, estas imágenes no eran más que la versión inicial con todos los parches aplicados hasta la fecha con el único objetivo de ofrecer una imagen actualizada de fábrica por tal de reducir el número de actualizaciones a instalar en cada nueva instalación.

Con el estreno de Ubuntu 12.04 esta situación cambio sensiblemente de modo que ahora, a partir de la segunda Point Release (.2) de cada LTS y en adelante hasta la quinta y última (.5), cada una de ellas incluye un Kernel y Stack gráfico actualizado que coincide con el de la versión de Ubuntu más reciente.

A este Upgrade del núcleo y del servidor X en las versiones LTS lo denominan Hardware Enablement Stack o HWE y básicamente persigue el objetivo de mantener el soporte de nuevos dispositivos en aquellas nuevas instalaciones de cada nueva revisión de una LTS.

Para explicarlo de un modo resumido, tendríamos que, en el caso de la última LTS, la 18.04 la situación seria la siguiente:

Ubuntu 18.04 y 18.04.1 – kernel 4.15

Ubuntu 18.04.2 – kernel y servidor X corresponidente a la release 18.10

Ubuntu 18.04.3 – kernel y servidor X correspondiente a la release 19.04

Ubuntu 18.04.4 – kernel y servidor X correspondiente a la release 19.10

Ubuntu 18.04.5 – kernel y servidor X correspondiente a la release 20.04 LTS

De este modo se suelen presentar dos situaciones. Por un lado, si te descargas la imagen de la última revisión de tu Ubuntu LTS, actualmente la 18.04.3 LTS, esta te vendrá ya de forma predeterminada con el mismo kernel y stack gráfico que la última versión de Ubuntu, en este caso Ubuntu 19.04, que equipa la versión 5.0 del kernel Linux.

Por otro lado, si ya tenias instalada la versión pero has ido aplicando los parches regularmente, automáticamente tu versión ya será la correspondiente a la última revisión, pero NO se hará un upgrade del Kernel ni del servidor gráfico, que seguirán siendo los correspondientes a la versión que instalaste.

Esto es algo lógico, puesto que en una versión estable y destinada a entornos de producción, el que las actualizaciones regulares incluyeran un cambio de versión de Kernel sería asumir un cierto riesgo nada deseable en una versión en la que justamente se supone que debe primar la estabilidad por encima de cualquier otra cosa (ya conoces el dicho de que si algo funciona no lo toques).

Aun así, en una instalación de cero, que el Kernel de una versión LTS venga actualizado según la última versión estable no es algo tan descabellado, sobretodo teniendo en cuenta que el ciclo de vida de dichas versiones es de 5 años y que en muchos casos, el núcleo que viene en la versión inicial no se corresponde con una versión del kernel con soporte extendido.

Por lo tanto, si bien como recomendación personal diría que, si quieres disfrutar de un kernel más nuevo en tu LTS, siempre será mejor descargarte la imagen de cero de la última Point Release, si prefieres mantenerte en tu instalación pero quieres probar que tal funciona el nuevo kernel y stack gráfico, también tienes la posibilidad de hacerlo.

A continuación te presento las opciones que tienes bajo mi punto de vista a la hora de actualizar el núcleo del sistema. Te los he ordenado de menos a más riesgo desde el punto de vista de la estabilidad y el buen funcionamiento del conjunto. Ahí van:

Opción 1: Instalar la Imagen de Ubuntu 18.04.X desde Cero

Esta es la opción menos arriesgada, pero por otro lado te obliga a instalar Ubuntu de nuevo. En un entorno de producción en el que debe primar la máxima estabilidad, esta es la opción que te recomiendo (sin contar la alternativa de mantenerte en la versión actual del kernel y limitarte a ir aplicando las sucesivas actualizaciones de seguridad).

En este caso no estaríamos hablando de actualizar el kernel, sino más bien de instalar una nueva versión de Ubuntu, ya que el nuevo kernel junto con todos los parches correspondientes ya vienen en la imagen del sistema que nos descargamos.

Digamos que la única contrapartida es justamente esta, que requiere instalar el sistema de cero, con todo el trabajo de puesta a punto que ello conlleva. Aun así, si en su momento ya optaste por separar la partición Home del sistema, te ahorrarás un buen montón de trabajo a la hora de traspasar archivos, carpetas, etc.

Si quieres ir sobre seguro, esta es y será siempre la mejor opción y desde luego es con la que yo me quedo y la que te recomiendo. De hecho, implícitamente es lo que recomiendan los propios desarrolladores de Ubuntu al no hacer un Upgrade de versión automáticamente en las instalaciones existentes.

El hecho de descargar e instalar la ultima Point Release desde cero o quedarte con la instalación en la que estabas depende de ti. Si con el kernel original vas bien, no hay necesidad de tocar nada, pero de lógica una versión más nueva siempre contará con un mejor soporte de hardware, por lo que la decisión es tuya.

En caso de que optes por esto, lo único que tienes que hacer es descargar la imagen correspondiente a la nueva revisión, instalarla y listo. A continuación te dejo el enlace de descarga correspondiente a la ultima revisión de la LTS actual, la 18.04.3, la cual viene con el kernel 5.0.

Descarga: http://releases.ubuntu.com/18.04/

Opción 2: Activar el HWE de tu LTS en cada Nueva Revisión

En caso de que hayas optado por no hacer una instalación de cero, sino por activar el nuevo HWE de tu edición LTS según la Point Release más reciente, lo que debes hacer es basicamente instalar una serie de paquetes a través de la terminal y listo.

Lo único que debes tener en cuenta es que, dependiendo de la versión de Ubuntu de la que deriva el kernel y stack gráfico, el nombre cambiará sensiblemente acorde a la versión de Ubuntu de la que se han tomado y adaptado los paquetes.

A continuación te dejo la sentencia que debes aplicar en el caso de Ubuntu 18.04.3, que es la ultima edición de la actual LTS y que recoge la base de Ubuntu 19.04, de nombre clave Wily Werewolf:

sudo apt install --install-recommends linux-generic-hwe-18.04 xserver-xorg-hwe-18.04

Hecho esto, lo único que queda por hacer es reiniciar el sistema y listo. Lo que si sería bueno hacer una vez reiniciado el sistema, es comprobar si existen paquetes por actualizar. para ello puedes valerte de:

sudo apt update

Si existen paquetes por actualizar, puedes descargarlos e instalarlos con:

sudo apt upgrade

Y con esto se puede decir que ya tendrás tu LTS a la última en cuestión de núcleo y servidor gráfico.

Otra cosa que sería bueno hacer es comprobar el periodo de soporte de tu HWE actual, puesto que normalmente su soporte no cubre toda la vida útil de la LTS.

hwe-support-status --verbose

Si no utilizas HWE, simplemente se te indicará el final de soporte de tu sistema, que será el propio de la LTS. Si has optado por instalar el HWE más actual, entonces verás el fin de soporte del mismo, que puede ser inferior al de la propia LTS.

Alternativa más Arriesgada: Instalar el Ultimo Kernel Mediante PPA

Existe otra opción, en el otro extremo, que consiste básicamente en “pasar” de los HWE de las LTS y optar por instalar el último kernel a cuenta y riesgo de cada uno.

Esto significa en cierto modo “romper” con la base oficial de Ubuntu y adentrarte en un terreno distinto que puede llegar a ser bastante más movedizo, aunque si de lo que se trata es de experimentar, de eso es de lo que más se aprende.

En este caso, instalaremos el último kernel mediante PPA. Para ello, lo primero que tienes que hacer es dirigirte al PPA del Ubuntu Kernel Team, a través del enlace que te acabo de poner. Ahí se van subiendo todas las versiones y revisiones del Kernel de Linux que se van probando por parte de los desarrolladores del equipo del Kernel en Ubuntu. Están prácticamente todas las versionens, desde la 2.6.24 hasta la más reciente.

Obviamente, de los tres métodos para hacer un upgrade del Kernel en las versiones LTS de Ubuntu, ya sabemos que este es el más arriesgado y el último al que deberíamos recurrir (más aun si estamos en un entorno de producción). En otras palabras, que si quieres seguir adelante puedes hacerlo, pero teniendo en mente el riesgo que supone.

Antes que nada, y como pequeño recordatorio, es importante que sepas cual es la versión del Kernel de que dispones en este momento. Si no lo sabes, en la primera parte del post te explico como conocerlo. Es imprescindible que te hayas fijado también en la arquitectura de tu sistema (32 o 64 bits) puesto que dependiendo de ella necesitarás un paquete u otro.

Dicho todo esto, suponemos que estamos en un entorno de pruebas y asumimos el riesgo. En este caso puedes proceder.

Lo que nos toca hacer ahora es buscar la carpeta correspondiente a la versión del Kernel que queremos instalar. En mi caso me encuentro actualmente en Ubuntu 18.04.3 LTS y dispongo del kernel 4.15, que es la versión original que llevaba la edición inicial de Ubuntu 18.04 LTS, debido a que he pasado por las diferentes point-release desde ahí, y no he aplicado el HWE correspondiente.

Para hacer la prueba, voy a intentar instalar la versión 5.2, que es la ultima versión disponible, y la que equipará Ubuntu 19.10 cuando se lance en pocos días. Ojo, ten en cuenta que esta versión es la que se ofrecerá en el HWE de Ubuntu 18.04.4 LTS cuando se lance en Enero, por lo que debes valorar bien si te conviene asumir el riesgo.

Lo que ves en la captura de arriba son los diferentes paquetes .deb (correspondientes a las diferentes arquitecturas disponibles) dentro del directorio de la versión del kernel que hayas seleccionado (en este caso son los paquetes correspondientes a la versión 5.2, la ultima versión estable que he encontrado).

Si tu sistema es de 32 bits, deberás buscar los los archivo correspondientes a la arquitectura i386, mientras que si es de 64 bits, debemos fijarnos en aquellos con la terminación amd64. En mi caso voy a utilizar la arquitectura amd64, que es la más habitual a día de hoy. Los archivos a descargarnos son básicamente los tres que te indico a continuación:

linux-headers-5.2.0-050200-generic_5.2.0-050200.201907231526_amd64.deb linux-headers-5.2.0-050200_5.2.0-050200.201907231526_all.deb linux-image-5.2.0-050200-generic_5.2.0-050200.201907231526_amd64.deb

Ten en cuenta que la numeración variará en caso de que optes por descargarte otra versión del Kernel. Llegados a este punto, puedes optar por descargarte los paquetes desde la misma web, y posteriormente instalarlos mediante dpkg, o bien añadir los repositorios vía consola.

Por cierto, si en algún momento recibes una alerta indicando que te has quedado sin espacio en la partición Boot (algo que puede llegar a ser frecuente cuando en el momento de instalar el sistema optaste por utilizar LVM), en este post que te enlazo a continuación tienes explicado como puedes liberar espacio en Boot eliminando paquetes de Kernels antiguos.

Esto Termina Aquí

Y básicamente eso es todo. Como ves, hacer un upgrade del núcleo y servidor gráfico en las ediciones LTS es relativamente fácil gracias al mecanismo de Hardware Enablement Stack.

Tienes la opción más conservadora (que esencialmente consiste en descargar la nueva imagen) y la opción de hacer el upgrade a partir de tu instalación existente, lo cual siempre entraña algo más de riesgo.

Espero que te haya sido util el post y para cualquier duda, aclaración o corrección te espero en los comments justo debajo. Hasta pronto:)