Cómo eliminar kernel antiguos en RHEL / CentOS

Hoy en día no tendría por qué suponer un problema el espacio disponible en la partición de arranque /boot, aunque nunca sabes lo que te puedes llegar a encontrar. En caso de necesitar liberar espacio, la solución pasa por eliminar kernel antiguos, como mínimo deberíamos dejar el kernel anterior al que está en ejecución por si fuera necesario arrancarlo en caso de problemas con el activo.

El primer paso es sacar un listado de los kernels instalados en el sistema. Para ello, ejecutad con rpm -q kernel:

# rpm -q kernel
kernel-3.10.0-327.el7.x86_64
kernel-3.10.0-1062.1.2.el7.x86_64
kernel-3.10.0-1062.4.3.el7.x86_64

En este caso, vemos que hay tres kernel instalados. ¿Cuál es el que está en ejecución? Este es el punto más importante, no vayáis a eliminar el kernel activo…

# uname -a
Linux foo 3.10.0-1062.4.3.el7.x86_64 #1 SMP Tue Nov 12 10:42:40 EST 2019 x86_64 x86_64 x86_64 GNU/Linux

Bien, el kernel activo es 3.10.0-1062.4.3.el7.x86_64 por lo que podríamos eliminar cualquiera de los otros dos. Como hemos dicho antes, conviene quedarse al menos con un kernel además del activo, en este caso nos quedamos con el inmediatamente anterior y eliminamos el más antiguo. Para eliminar un kernel (o paquete rpm) se utiliza el parámetro -e(ERASE):

# rpm -e kernel-3.10.0-327.el7.x86_64

Volvemos a consultar los kernel disponibles, ya únicamente hay dos:

# rpm -q kernel
kernel-3.10.0-1062.1.2.el7.x86_64
kernel-3.10.0-1062.4.3.el7.x86_64