Objetivo
El objetivo es eliminar el núcleo antiguo no utilizado.
Sistema operativo y versiones de software
- Sistema operativo: – CentOS 7
Requisitos
Se requerirá acceso privilegiado a su servidor CentOS.
Dificultad
FÁCIL
Convenios
- # – requiere que los comandos de Linux dados se ejecuten con privilegios de root, ya sea directamente como usuario root o mediante el uso de
sudo
comando - $ – requiere que los comandos de Linux dados se ejecuten como un usuario normal sin privilegios
Instrucciones
En circunstancias normales, la cantidad de núcleos instalados y no utilizados no afecta el rendimiento del servidor. Sin embargo, la eliminación de kernels antiguos sin usar liberará algo de espacio en el disco. Si su servidor está configurado con un /boot
separado partición y se encuentra con un problema de poco espacio en disco, la eliminación de los núcleos no utilizados será una solución.
Comprobar el kernel actual
Primero, verifique qué kernel está utilizando actualmente su servidor:
# uname -a Linux localhost.localdomain 3.10.0-693.5.2.el7.x86_64 #1 SMP Fri Oct 20 20:32:50 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
Lista de todos los núcleos instalados
En este paso, enumeraremos todos los núcleos instalados actualmente:
# rpm -q kernel kernel-3.10.0-327.36.3.el7.x86_64 kernel-3.10.0-514.2.2.el7.x86_64 kernel-3.10.0-693.5.2.el7.x86_64
Núcleo kernel-3.10.0-693.5.2.el7.x86_64
está actualmente cargado y utilizado. basado en el resultado acerca de esta es la última versión.
Eliminar kernels antiguos manualmente
En esta etapa podemos usar yum
comando para eliminar manualmente los núcleos de Linux no utilizados:
# yum remove kernel-3.10.0-327.36.3.el7.x86_64 kernel-3.10.0-514.2.2.el7.x86_64 Loaded plugins: fastestmirror Resolving Dependencies --> Running transaction check ---> Package kernel.x86_64 0:3.10.0-327.36.3.el7 will be erased ---> Package kernel.x86_64 0:3.10.0-514.2.2.el7 will be erased --> Finished Dependency Resolution Dependencies Resolved ======================================================================================================================================================================================================================= Package Arch Version Repository Size ======================================================================================================================================================================================================================= Removing: kernel x86_64 3.10.0-327.36.3.el7 @anaconda 136 M kernel x86_64 3.10.0-514.2.2.el7 @updates 148 M Transaction Summary ======================================================================================================================================================================================================================= Remove 2 Packages Installed size: 284 M Is this ok [y/N]:
Eliminar el kernel antiguo sin usar automáticamente
Usando package-cleanup
comando que es parte de yum-utils
paquete podemos desinstalar cualquier número de núcleos antiguos automáticamente. Como ejemplo usando --oldkernels --count=2
opción con package-cleanup
comando el comando eliminará todo el kernel no utilizado mientras mantiene instaladas las últimas tres versiones más recientes del kernel.
Eliminemos todos los núcleos, esperemos el último núcleo cargado actualmente:
# package-cleanup --oldkernels --count=1 Loaded plugins: fastestmirror --> Running transaction check ---> Package kernel.x86_64 0:3.10.0-327.36.3.el7 will be erased ---> Package kernel.x86_64 0:3.10.0-514.2.2.el7 will be erased --> Finished Dependency Resolution Dependencies Resolved ======================================================================================================================================================================================================================= Package Arch Version Repository Size ======================================================================================================================================================================================================================= Removing: kernel x86_64 3.10.0-327.36.3.el7 @anaconda 136 M kernel x86_64 3.10.0-514.2.2.el7 @updates 148 M Transaction Summary ======================================================================================================================================================================================================================= Remove 2 Packages Installed size: 284 M Is this ok [y/N]:
Configurar yum para eliminar automáticamente kernels antiguos
Por defecto, CentOS mantendrá los últimos 5 núcleos instalados en su sistema. Este comportamiento está definido por installonly_limit=5
línea dentro de /etc/yum.conf
expediente. Actualice /etc/yum.conf
archivo de configuración de manera adecuada para mantener el número deseado de núcleos antiguos en su sistema después de la actualización. El valor mínimo a establecer es 2
. Ejemplo de /etc/yum.conf
archivo de configuración para conservar solo las dos últimas versiones del kernel:
[main] cachedir=/var/cache/yum/$basearch/$releasever keepcache=0 debuglevel=2 logfile=/var/log/yum.log exactarch=1 obsoletes=1 gpgcheck=1 plugins=1 installonly_limit=2 bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum distroverpkg=centos-release