miércoles, 26 de septiembre de 2018

Cómo instalar el kernel más reciente en CentOS 7



Cómo instalar la última versión del kernel - ya pre-compilada - en un sistema operativo Linux distribución CentOS versión 7, paso a paso, desde un repositorio third-party.



Cuando instalamos CentOS 7 desde una imagen oficial, el sistema se instala con el Kernel 3.10, el cual está algo anticuado a día de hoy (el Kernel de Linux ya va por la rama 4), por lo que es recomendable instalar una versión superior del mismo en el sistema. Idealmente, se debería instalar la última versión liberada del Kernel, la cual podemos conocer accediendo a https://www.kernel.org.

Como decía, una opción para instalar un nuevo kernel es descargar su código fuente desde kernel.org y compilarlo, pero es una tarea larga y compleja. Para simplificar las cosas, podemos instalar un kernel pre-compilado desde un repositorio third-party como por ejemplo "ELRepo".

Para activar el repositorio "ELRepo" en CentOS 7:

[root@host ~]# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org [root@host ~]# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm

Una vez instalado el repositorio, podemos buscar todos los kernels disponibles en él con:

[root@host ~]# yum --disablerepo="*" --enablerepo="elrepo-kernel" list available Complementos cargados:fastestmirror Loading mirror speeds from cached hostfile * elrepo-kernel: www.jules.fm Paquetes disponibles kernel-lt.x86_64 4.4.158-1.el7.elrepo elrepo-kernel kernel-lt-devel.x86_64 4.4.158-1.el7.elrepo elrepo-kernel kernel-lt-doc.noarch 4.4.158-1.el7.elrepo elrepo-kernel kernel-lt-headers.x86_64 4.4.158-1.el7.elrepo elrepo-kernel kernel-lt-tools.x86_64 4.4.158-1.el7.elrepo elrepo-kernel kernel-lt-tools-libs.x86_64 4.4.158-1.el7.elrepo elrepo-kernel kernel-lt-tools-libs-devel.x86_64 4.4.158-1.el7.elrepo elrepo-kernel kernel-ml-devel.x86_64 4.18.10-1.el7.elrepo elrepo-kernel kernel-ml-doc.noarch 4.18.10-1.el7.elrepo elrepo-kernel kernel-ml-headers.x86_64 4.18.10-1.el7.elrepo elrepo-kernel kernel-ml-tools.x86_64 4.18.10-1.el7.elrepo elrepo-kernel kernel-ml-tools-libs.x86_64 4.18.10-1.el7.elrepo elrepo-kernel kernel-ml-tools-libs-devel.x86_64 4.18.10-1.el7.elrepo elrepo-kernel perf.x86_64 4.18.10-1.el7.elrepo elrepo-kernel python-perf.x86_64

Ahora toca instalar la última versión estable:

[root@host ~]# yum --enablerepo=elrepo-kernel install kernel-ml

Cuando acabe la instalación, reiniciamos la máquina. Durante el inicio, en el menú de GRUB, deberíamos ver el nuevo kernel instalado. Lo seleccionamos y arrancamos el sistema:



Una vez en la consola, podemos configurar GRUB para que arranque el sistema con el nuevo kernel por defecto. Para hacer esto, editamos el archivo /etc/default/grub y configuramos el parámetro GRUB_DEFAULT cambiando el valor 1 por 0:

[root@host ~]# vi /etc/default/grub

GRUB_DEFAULT=0

Esto hará que el primer kernel de la lista de GRUB sea el kernel con el que el sistema arranque por defecto. Guardamos los cambios de configuración de arranque con el comando grub2-mkconfig:

[root@host ~]# grub2-mkconfig -o /boot/grub2/grub.cfg Generating grub configuration file ... Found linux image: /boot/vmlinuz-4.18.10-1.el7.elrepo.x86_64 Found initrd image: /boot/initramfs-4.18.10-1.el7.elrepo.x86_64.img Found linux image: /boot/vmlinuz-3.10.0-862.14.4.el7.x86_64 Found initrd image: /boot/initramfs-3.10.0-862.14.4.el7.x86_64.img Found linux image: /boot/vmlinuz-3.10.0-862.11.6.el7.x86_64 Found initrd image: /boot/initramfs-3.10.0-862.11.6.el7.x86_64.img Found linux image: /boot/vmlinuz-3.10.0-862.el7.x86_64 Found initrd image: /boot/initramfs-3.10.0-862.el7.x86_64.img Found linux image: /boot/vmlinuz-0-rescue-d114c821418141b4989f03970795ddeb Found initrd image: /boot/initramfs-0-rescue-d114c821418141b4989f03970795ddeb.img done

Reiniciamos la máquina y verificamos que el sistema arranque con el nuevo kernel por defecto. Lo podemos comprobar con el comando uname una vez lleguemos a la consola:

[root@host ~]# uname -a Linux host 4.18.10-1.el7.elrepo.x86_64 #1 SMP Wed Sep 26 16:20:39 EDT 2018 x86_64 x86_64 x86_64 GNU/Linux

Si detectamos que algo no funciona como debería, siempre podemos arrancar el sistema con el antiguo kernel eligiéndolo en la lista de GRUB.
0

0 comentarios:

Publicar un comentario