Cómo instalar o actualizar a Kernel 5.0 en CentOS 7
Aunque algunas personas usan la palabra Linux para representar el sistema operativo en su conjunto, es importante tener en cuenta que, estrictamente hablando, Linux es solo el núcleo. Por otro lado, una distribución es un sistema completamente funcional construido sobre el kernel con una amplia variedad de herramientas de aplicación y bibliotecas.
Durante las operaciones normales, el núcleo es responsable de realizar dos tareas importantes:
- Acting as an interface between the hardware and the software running on the system.
- Managing system resources as efficiently as possible.
Para hacer esto, el kernel se comunica con el hardware a través de los controladores que están incorporados en él o aquellos que se pueden instalar posteriormente como un 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.
Con la publicación periódica de nuevos dispositivos y tecnologías, es importante mantener actualizado nuestro kernel si queremos aprovecharlos al máximo. Además, la actualización de nuestro kernel nos ayudará a aprovechar las nuevas funciones del kernel y a protegernos de las 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: Verificando la versión instalada del kernel
Cuando instalamos una distribución, incluye una cierta 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 (otras versiones están disponibles en el mismo sitio).
Esta nueva versión de Kernel 5.0 es una versión a largo plazo y será compatible durante 6 años; antes, todas las versiones de Linux Kernel solo se admitían 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 a su fin de vida, no se proporcionarán más correcciones de errores después de esa fecha. Para más información, consulte la página de lanzamientos del kernel.
Paso 2: Actualización del Kernel en CentOS 7
La mayoría de las distribuciones modernas proporcionan una forma de actualizar el kernel utilizando un sistema de gestión de paquetes como yum y un repositorio con soporte oficial.
rojo
Sin embargo, esto solo realizará la actualización a la versión más reciente disponible desde los repositorios de la distribución, no la última disponible en https://www.kernel.org/. Desafortunadamente, Red Hat solo permite actualizar el kernel usando la primera opción.
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 núcleo.
Para habilitar el repositorio de ELRepo en CentOS 7, haga lo siguiente:
# 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 listar 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 núcleo estable de la línea 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, reiniciar
su máquina para aplicar el último kernel, y luego seleccione el último kernel 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 hacer que la versión recién instalada sea la opción de inicio predeterminada, tendrá que modificar la configuración de GRUB de la siguiente manera:
Abra y edite el archivo /etc/default/grub y configure GRUB_DEFAULT = 0
. Esto significa que el primer kernel en la pantalla inicial de GRUB se usará por defecto.
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 volver a crear 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 el último kernel se esté utilizando de forma predeterminada.

¡Felicidades! ¡Has actualizado tu kernel en CentOS 7 !
En este artículo, hemos explicado cómo actualizar fácilmente el kernel de Linux en su sistema. Todavía hay otro método que no hemos cubierto, ya que implica compilar el núcleo desde la fuente, que merecería un libro completo y no se recomienda en sistemas de producción.
Si bien representa una de las mejores experiencias de aprendizaje y permite una configuración detallada del núcleo, puede inutilizar su sistema y puede tener que volver a instalarlo desde cero.
Si aún está interesado en construir el kernel como una experiencia de aprendizaje, encontrará instrucciones sobre cómo hacerlo en la página de Kernel Newbies.
Como siempre, no dude en utilizar el siguiente formulario si tiene alguna pregunta o comentario sobre este artículo.