Búsqueda de sitios web

Cómo eliminar kernels antiguos no utilizados en CentOS, RHEL y Fedora


En este artículo, mostraremos cómo eliminar imágenes del kernel antiguas/no utilizadas en sistemas RHEL/CentOS/Fedora. Sin embargo, antes de eliminar un kernel antiguo, es importante mantenerlo actualizado; Instale la última versión para aprovechar las nuevas funciones del kernel y proteger su sistema de vulnerabilidades descubiertas 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 conservar al menos uno o dos núcleos antiguos para 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

Listar todos los kernels instalados en el sistema

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

Eliminación de kernels antiguos/no utilizados en CentOS/RHEL

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

yum install yum-utils

Una de estas utilidades es package-cleanup que puede usar para eliminar el kernel antiguo como se muestra a continuación; el indicador 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.

Eliminación de kernels viejos/no utilizados en Fedora

Fedora ahora usa el administrador de paquetes dnf, una nueva versión del administrador de paquetes yum, por lo que debe usar este comando a continuación para eliminar kernels antiguos en Fedora.

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

Otra forma alternativa de eliminar kernels antiguos automáticamente es establecer el límite del kernel 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, sólo quedarán dos núcleos en el sistema.

Quizás también le interese leer los siguientes artículos relacionados sobre el kernel de Linux.

  1. Cómo cargar y descargar módulos del 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 del kernel antiguas/no utilizadas en sistemas RHEL/CentOS/Fedora. Puede compartir cualquier idea a través de los comentarios a continuación.