Cómo eliminar núcleos antiguos no utilizados en CentOS, RHEL y Fedora


En este artículo, mostraremos cómo eliminar imágenes de kernel antiguas/no utilizadas en sistemas RHEL/CentOS/Fedora. Sin embargo, antes de eliminar un núcleo antiguo, es importante mantenerlo actualizado; instale la última versión para aprovechar las nuevas funciones del kernel y proteger su sistema de las vulnerabilidades que se han descubierto en versiones anteriores.

Para instalar o actualizar a la última versión del kernel en sistemas RHEL/CentOS/Fedora, lea esta guía:

  1. Cómo instalar o actualizar a la última versión del kernel en CentOS 7

Atención: por el contrario, se recomienda mantener al menos uno o dos núcleos antiguos a los que recurrir en caso de que haya un problema con una actualización.

Para mostrar la versión actual de Linux (kernel) que se ejecuta en su sistema, ejecute este comando.

# uname -sr

Linux 3.10.0-327.10.1.el7.x86_64

Puede enumerar todas las imágenes del kernel instaladas en su sistema de esta manera.

# rpm -q kernel

kernel-3.10.0-229.el7.x86_64
kernel-3.10.0-229.14.1.el7.x86_64
kernel-3.10.0-327.3.1.el7.x86_64
kernel-3.10.0-327.10.1.el7.x86_64

Necesita instalar yum-utils, que es una variedad de utilidades que se integran con yum para hacerlo más poderoso y fácil de usar, ampliando sus características originales de varias formas diferentes.

# yum install yum-utils

Una de estas utilidades es la limpieza de paquetes que puede usar para eliminar el kernel antiguo como se muestra a continuación, la marca de conteo se usa para especificar la cantidad de kernels que desea dejar en el sistema.

# package-cleanup --oldkernels --count=2
Loaded plugins: fastestmirror, langpacks, product-id, versionlock
--> Running transaction check
---> Package kernel.x86_64 0:3.10.0-229.el7 will be erased
---> Package kernel.x86_64 0:3.10.0-229.14.1.el7 will be erased
---> Package kernel-devel.x86_64 0:3.10.0-229.1.2.el7 will be erased
---> Package kernel-devel.x86_64 0:3.10.0-229.14.1.el7 will be erased
--> Finished Dependency Resolution

Dependencies Resolved

===============================================================================================================================================================================================
 Package                                       Arch                                    Version                                                Repository                                  Size
===============================================================================================================================================================================================
Removing:
 kernel                                        x86_64                                  3.10.0-229.el7                                         @anaconda                                  131 M
 kernel                                        x86_64                                  3.10.0-229.14.1.el7                                    @updates                                   131 M
 kernel-devel                                  x86_64                                  3.10.0-229.1.2.el7                                     @updates                                    32 M
 kernel-devel                                  x86_64                                  3.10.0-229.14.1.el7                                    @updates                                    32 M

Transaction Summary
===============================================================================================================================================================================================
Remove  4 Packages

Installed size: 326 M
Is this ok [y/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Erasing    : kernel-devel.x86_64                            1/4 
  Erasing    : kernel.x86_64                                  2/4 
  Erasing    : kernel-devel.x86_64                            3/4 
  Erasing    : kernel.x86_64                                  4/4 
Loading mirror speeds from cached hostfile
 * base: centos.mirror.snu.edu.in
 * epel: repo.ugm.ac.id
 * extras: centos.mirror.snu.edu.in
 * rpmforge: kartolo.sby.datautama.net.id
 * updates: centos.mirror.snu.edu.in
  Verifying  : kernel-3.10.0-229.el7.x86_64                   1/4 
  Verifying  : kernel-devel-3.10.0-229.14.1.el7.x86_64        2/4 
  Verifying  : kernel-3.10.0-229.14.1.el7.x86_64              3/4 
  Verifying  : kernel-devel-3.10.0-229.1.2.el7.x86_64         4/4 

Removed:
  kernel.x86_64 0:3.10.0-229.el7           kernel.x86_64 0:3.10.0-229.14.1.el7           kernel-devel.x86_64 0:3.10.0-229.1.2.el7           kernel-devel.x86_64 0:3.10.0-229.14.1.el7          

Complete!

Importante: Después de ejecutar el comando anterior, eliminará todos los kernels antiguos/no utilizados y mantendrá el kernel actual en ejecución y el último kernel antiguo como copia de seguridad.

Fedora ahora usa el administrador de paquetes yum, por lo que debe usar este comando a continuación para eliminar los núcleos antiguos en Fedora.

# dnf remove $(dnf repoquery --installonly --latest-limit 2 -q) 

Otra forma alternativa de eliminar los núcleos antiguos automáticamente es establecer el límite del núcleo en el archivo yum.conf como se muestra.

installonly_limit=2		#set kernel count

Guarde y cierre el archivo. La próxima vez que ejecute una actualización, solo quedarán dos núcleos en el sistema.

También le puede interesar leer los siguientes artículos relacionados sobre el kernel de Linux.

  1. Cómo cargar y descargar módulos de kernel en Linux
  2. Cómo actualizar el kernel a la última versión en Ubuntu
  3. Cómo cambiar los parámetros de tiempo de ejecución del kernel de forma persistente y no persistente

En este artículo, describimos cómo eliminar imágenes de kernel antiguas/no utilizadas en sistemas RHEL/CentOS/Fedora. Puede compartir sus pensamientos a través de los comentarios a continuación.