¿Cómo liberar espacio en la partición /boot borrando los kernel antiguos?

En la partición /boot se da que las sucesivas actualizaciones de los sistemas dejan instalados los paquetes antiguos de kernel, ya que, aunque se haya instalado una versión nueva, son los que están corriendo y los necesitan en ese momento. Cuando se hayan realizado muchos updates podemos encontrarnos con la partición completa.

Cuando estemos corriendo el kernel más moderno de que dispongamos:

uname –a  nos indica la versión de kernel que estamos corriendo.

El resto de ellos podemos borrarlos tranquilamente.

rpm –qa | grep kernel | grep –v <kernel corriendo en el sistema>

La salida de este comando contiene todos los Kernel que pueden ser borrados mediante yum remove:

yum remove nos resolverá las dependencias e irá eliminando los paquetes que sean necesarios.

Al margen de esto, hay un servicio que se llama grubby que está implicado en esta desinstalación de paquetes.

Este servicio se encarga de, según se añaden o eliminan paquetes de kernel, ir modificando el archivo grub.conf. Este archivo no contiene más que un menú de arranque para que cuando accedemos al GRUB, nos indique con qué kernel de los instalados queremos correr sistema al arrancar.

El problema consiste en que a veces este servicio no funciona correctamente y no modifica bien el grub.conf:

Transaction Test Succeeded
Running Transaction
Erasing        : gnome-session                                                                                                                       1/16
Erasing        : gcc                                                                                                                                             2/16
Erasing        : pcmciautils                                                                                                                               3/16
Erasing        : kernel-xen                                                                                                                                4/16
Erasing        : gnome-volume-manager                                                                                                       5/16
Erasing        : kernel-headers                                                                                                                         6/16
Erasing        : compat-gcc-34                                                                                                                          7/16
Erasing        : kernel-xen-devel                                                                                                                       8/16
Erasing        : gcc-c++                                                                                                                                        9/16
Erasing        : glibc-devel                                                                                                                                 10/16
Erasing        : glibc-devel                                                                                                                                 11/16
Erasing        : compat-gcc-34-c++                                                                                                                  12/16
Erasing        : oracle-validated                                                                                                                        13/16
Erasing        : glibc-headers                                                                                                                             14/16
grubby fatal error: unable to find a suitable template
grubby: doing this would leave no kernel entries. Not writing out new config.
Erasing        : kernel-xen                                                                                                                                  15/16
Erasing        : kernel-xen-devel                                                                                                                       16/16

El grub.conf tiene esta forma:
title
root (hd0,0)
kernel /vmlinuz-2.X ro root=LABEL=/
initrd /initrd-2.X.img

MUY IMPORTANTE. Si el kernel instalado y corriendo después de las operaciones anteriores no se corresponde con el kernel del grub.conf, en el próximo reinicio del sistema, éste NO arranca. Habría que modificar dicho grub.conf.

Por lo tanto, si tenemos este problema, es necesario modificar el grub.conf con el kernel instalado y corriendo.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *