Cómo instalar o actualizar a Kernel 5.0 en CentOS 7
Aunque algunas personas utilizan la palabra Linux para representar el sistema operativo en su conjunto, es importante señalar que, estrictamente hablando, Linux es sólo el núcleo. Por otro lado, una distribución es un sistema completamente funcional construido sobre el kernel con una amplia variedad de bibliotecas y herramientas de aplicación.
Durante las operaciones normales, el kernel es responsable de realizar dos tareas importantes:
- Actuar como interfaz entre el hardware y el software que se ejecuta en el sistema.
- Gestionar los recursos del sistema de la manera más eficiente posible.
Para ello, el kernel se comunica con el hardware a través de los controladores que lleva integrados o los que posteriormente se pueden instalar como módulo.
Por ejemplo, cuando una aplicación que se ejecuta en su máquina quiere conectarse a una red inalámbrica, envía esa solicitud al kernel, que a su vez utiliza el controlador correcto para conectarse a la red.
Lectura sugerida: Cómo actualizar el kernel en Ubuntu
Con nuevos dispositivos y tecnología que aparecen periódicamente, es importante mantener nuestro kernel actualizado si queremos aprovecharlos al máximo. Además, actualizar nuestro kernel nos ayudará a aprovechar nuevas funciones del kernel y a protegernos de vulnerabilidades descubiertas en versiones anteriores.
¿Listo para actualizar su kernel en CentOS 7 o uno de sus derivados como RHEL 7 y Fedora? Si es así, ¡sigue leyendo!
Paso 1: verificar la versión del kernel instalada
Cuando instalamos una distribución esta incluye una determinada versión del kernel de Linux. Para mostrar la versión actual instalada en nuestro sistema podemos hacer:
uname -sr
La siguiente imagen muestra el resultado del comando anterior en un servidor CentOS 7:
Si ahora vamos a https://www.kernel.org/, veremos que la última versión del kernel es 5.0 en el momento de escribir este artículo (hay otras versiones disponibles en el mismo sitio).
Esta nueva versión del Kernel 5.0 es una versión a largo plazo y tendrá soporte durante 6 años; anteriormente, todas las versiones del Kernel de Linux tenían soporte solo durante 2 años.
Una cosa importante a considerar es el ciclo de vida de una versión del kernel: si la versión que está utilizando actualmente se acerca al final de su vida útil, no se proporcionarán más correcciones de errores después de esa fecha. Para obtener más información, consulte la página de lanzamientos del kernel.
Paso 2: Actualizar el kernel en CentOS 7
La mayoría de las distribuciones modernas ofrecen una forma de actualizar el kernel mediante un sistema de administración de paquetes como yum y un repositorio con soporte oficial.
Importante: Si desea ejecutar un kernel compilado personalizado, debería leer nuestro artículo que explica cómo compilar el kernel de Linux en CentOS 7 a partir de fuentes.
Sin embargo, esto solo realizará la actualización a la versión más reciente disponible en los repositorios de la distribución, no a la última disponible en https://www.kernel.org/. Desafortunadamente, Red Hat sólo permite actualizar el kernel usando la opción anterior.
A diferencia de Red Hat, CentOS permite el uso de ELRepo, un repositorio de terceros que convierte la actualización a una versión reciente en un kernel.
Para habilitar el repositorio ELRepo en CentOS 7, haga:
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
Una vez que se haya habilitado el repositorio, puede usar el siguiente comando para enumerar los paquetes kernel. related disponibles:
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* elrepo-kernel: mirror-hk.koddos.net
Available Packages
kernel-lt.x86_64 4.4.176-1.el7.elrepo elrepo-kernel
kernel-lt-devel.x86_64 4.4.176-1.el7.elrepo elrepo-kernel
kernel-lt-doc.noarch 4.4.176-1.el7.elrepo elrepo-kernel
kernel-lt-headers.x86_64 4.4.176-1.el7.elrepo elrepo-kernel
kernel-lt-tools.x86_64 4.4.176-1.el7.elrepo elrepo-kernel
kernel-lt-tools-libs.x86_64 4.4.176-1.el7.elrepo elrepo-kernel
kernel-lt-tools-libs-devel.x86_64 4.4.176-1.el7.elrepo elrepo-kernel
kernel-ml.x86_64 5.0.0-1.el7.elrepo elrepo-kernel
kernel-ml-devel.x86_64 5.0.0-1.el7.elrepo elrepo-kernel
kernel-ml-doc.noarch 5.0.0-1.el7.elrepo elrepo-kernel
kernel-ml-headers.x86_64 5.0.0-1.el7.elrepo elrepo-kernel
kernel-ml-tools.x86_64 5.0.0-1.el7.elrepo elrepo-kernel
kernel-ml-tools-libs.x86_64 5.0.0-1.el7.elrepo elrepo-kernel
kernel-ml-tools-libs-devel.x86_64 5.0.0-1.el7.elrepo elrepo-kernel
perf.x86_64 5.0.0-1.el7.elrepo elrepo-kernel
python-perf.x86_64 5.0.0-1.el7.elrepo elrepo-kernel
A continuación, instale el último kernel estable principal:
yum --enablerepo=elrepo-kernel install kernel-ml
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: centos.mirror.net.in
* elrepo: mirror-hk.koddos.net
* elrepo-kernel: mirror-hk.koddos.net
* epel: repos.del.extreme-ix.org
* extras: centos.mirror.net.in
* updates: centos.mirror.net.in
Resolving Dependencies
--> Running transaction check
---> Package kernel-ml.x86_64 0:5.0.0-1.el7.elrepo will be installed
--> Finished Dependency Resolution
Dependencies Resolved
====================================================================================
Package Arch Version Repository Size
====================================================================================
Installing:
kernel-ml x86_64 5.0.0-1.el7.elrepo elrepo-kernel 47 M
Transaction Summary
====================================================================================
Install 1 Package
Total download size: 47 M
Installed size: 215 M
Is this ok [y/d/N]: y
Downloading packages:
kernel-ml-5.0.0-1.el7.elrepo.x86_64.rpm | 47 MB 00:01:21
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : kernel-ml-5.0.0-1.el7.elrepo.x86_64 1/1
Verifying : kernel-ml-5.0.0-1.el7.elrepo.x86_64 1/1
Installed:
kernel-ml.x86_64 0:5.0.0-1.el7.elrepo
Complete!
Finalmente, reinicie
su máquina para aplicar el kernel más reciente y luego seleccione el kernel más reciente en el menú como se muestra.
Inicie sesión como root y ejecute el siguiente comando para verificar la versión del kernel:
uname -sr
Paso 3: Establecer la versión predeterminada del kernel en GRUB
Para que la versión recién instalada sea la opción de arranque predeterminada, deberá modificar la configuración de GRUB de la siguiente manera:
Abra y edite el archivo /etc/default/grub y establezca GRUB_DEFAULT=0
. Esto significa que el primer núcleo en la pantalla inicial de GRUB se utilizará de forma predeterminada.
GRUB_TIMEOUT=5
GRUB_DEFAULT=0
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/root rd.lvm.lv=centos/swap crashkernel=auto rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
A continuación, ejecute el siguiente comando para recrear la configuración del kernel.
grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.0.0-1.el7.elrepo.x86_64
Found initrd image: /boot/initramfs-5.0.0-1.el7.elrepo.x86_64.img
Found linux image: /boot/vmlinuz-4.20.0-1.el7.elrepo.x86_64
Found initrd image: /boot/initramfs-4.20.0-1.el7.elrepo.x86_64.img
Found linux image: /boot/vmlinuz-4.19.11-1.el7.elrepo.x86_64
Found initrd image: /boot/initramfs-4.19.11-1.el7.elrepo.x86_64.img
Found linux image: /boot/vmlinuz-4.19.0-1.el7.elrepo.x86_64
Found initrd image: /boot/initramfs-4.19.0-1.el7.elrepo.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-957.1.3.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-957.1.3.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-693.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-693.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-1e2b46dbc0c04b05b592c837c366bb76
Found initrd image: /boot/initramfs-0-rescue-1e2b46dbc0c04b05b592c837c366bb76.img
done
Reinicie y verifique que ahora se esté utilizando el kernel más reciente de forma predeterminada.
¡Felicidades! ¡Has actualizado tu kernel en CentOS 7!
Resumen
En este artículo hemos explicado cómo actualizar fácilmente el kernel de Linux en su sistema. Hay otro método que no hemos cubierto ya que implica compilar el kernel desde el código fuente, lo que merecería un libro completo y no se recomienda en sistemas de producción.
Aunque representa una de las mejores experiencias de aprendizaje y permite una configuración detallada del kernel, es posible que su sistema quede inutilizable y que tenga que reinstalarlo desde cero.
Si todavía está interesado en construir el kernel como una experiencia de aprendizaje, encontrará instrucciones sobre cómo hacerlo en la página Kernel Newbies.
Como siempre, no dude en utilizar el formulario a continuación si tiene alguna pregunta o comentario sobre este artículo.