Generalmente la partición /boot
suele tener un tamaño reducido en disco, ya que se utiliza para guardar el kernel Linux, la imagen initrd
y el bootloader. El problema es que, al pasar el tiempo y las actualizaciones, se van acumulando versiones antiguas del kernel Linux hasta llenar la partición boot
. Este artículo explica cómo eliminar las versiones del kernel viejas/desactualizadas en un sistema CentOS para ganar espacio en la partición /boot
.
Se observa que esta partición /boot
posee sólo 75 MB de espacio disponible en disco:
[root@centos6 ~]# df -h /boot Filesystem Size Used Avail Use% Mounted on /dev/sda1 194M 110M 75M 60% /boot
Esto equivale a no más de dos versiones del kernel más (incluyendo la imagen initrd
para cada uno):
[root@centos6 ~]# ll /boot/ total 109865 -rw-r--r-- 1 root root 108107 may 31 19:02 config-2.6.32-642.1.1.el6.x86_64 -rw-r--r-- 1 root root 108107 jul 12 15:39 config-2.6.32-642.3.1.el6.x86_64 -rw-r--r-- 1 root root 108107 ago 23 17:04 config-2.6.32-642.4.2.el6.x86_64 -rw-r--r-- 1 root root 108107 oct 4 21:41 config-2.6.32-642.6.1.el6.x86_64 drwxr-xr-x. 3 root root 1024 feb 11 2014 efi drwxr-xr-x. 2 root root 1024 oct 6 07:45 grub -rw------- 1 root root 20797626 jun 3 08:45 initramfs-2.6.32-642.1.1.el6.x86_64.img -rw------- 1 root root 20798985 ago 18 09:32 initramfs-2.6.32-642.3.1.el6.x86_64.img -rw------- 1 root root 20794766 ago 24 08:47 initramfs-2.6.32-642.4.2.el6.x86_64.img -rw------- 1 root root 20794826 oct 6 07:45 initramfs-2.6.32-642.6.1.el6.x86_64.img drwx------. 2 root root 12288 feb 11 2014 lost+found -rw-r--r-- 1 root root 215559 may 31 19:02 symvers-2.6.32-642.1.1.el6.x86_64.gz -rw-r--r-- 1 root root 215559 jul 12 15:39 symvers-2.6.32-642.3.1.el6.x86_64.gz -rw-r--r-- 1 root root 215531 ago 23 17:04 symvers-2.6.32-642.4.2.el6.x86_64.gz -rw-r--r-- 1 root root 215530 oct 4 21:41 symvers-2.6.32-642.6.1.el6.x86_64.gz -rw-r--r-- 1 root root 2615135 may 31 19:02 System.map-2.6.32-642.1.1.el6.x86_64 -rw-r--r-- 1 root root 2615095 jul 12 15:39 System.map-2.6.32-642.3.1.el6.x86_64 -rw-r--r-- 1 root root 2618532 ago 23 17:04 System.map-2.6.32-642.4.2.el6.x86_64 -rw-r--r-- 1 root root 2618532 oct 4 21:41 System.map-2.6.32-642.6.1.el6.x86_64 -rwxr-xr-x 1 root root 4264432 may 31 19:02 vmlinuz-2.6.32-642.1.1.el6.x86_64 -rwxr-xr-x 1 root root 4265936 jul 12 15:39 vmlinuz-2.6.32-642.3.1.el6.x86_64 -rwxr-xr-x 1 root root 4268880 ago 23 17:04 vmlinuz-2.6.32-642.4.2.el6.x86_64 -rwxr-xr-x 1 root root 4269008 oct 4 21:41 vmlinuz-2.6.32-642.6.1.el6.x86_64
En total son 4 versiones del kernel Linux instaladas:
[root@centos6 ~]# ls -1t /boot/vmlinuz* /boot/vmlinuz-2.6.32-642.1.1.el6.x86_64 /boot/vmlinuz-2.6.32-642.3.1.el6.x86_64 /boot/vmlinuz-2.6.32-642.4.2.el6.x86_64 /boot/vmlinuz-2.6.32-642.6.1.el6.x86_64
Y el sistema actualmente utiliza la última de las 4 versiones disponibles:
[root@centos6 ~]# uname -r 2.6.32-642.6.1.el6.x86_64
Esto significa que es posible eliminar todas las versiones anteriores. O al menos quedarse sólo con las dos últimas. Para ello simplemente se deben eliminar las versiones indicadas del paquete kernel
utilizando el gestor de paquetes yum
.
Por ejemplo, si se desean eliminar las versiones del kernel 2.6.32-642.1
y 2.6.32-642.3
, ejecutar:
[root@centos6 ~]# yum remove kernel-2.6.32-642.{1,3}* Setting up Remove Process Resolving Dependencies --> Running transaction check ---> Package kernel.x86_64 0:2.6.32-642.1.1.el6 will be erased ---> Package kernel.x86_64 0:2.6.32-642.3.1.el6 will be erased --> Finished Dependency Resolution Dependencies Resolved =========================================================================================================== Package Arch Version Repository Size =========================================================================================================== Removing: kernel x86_64 2.6.32-642.1.1.el6 @updates 131 M kernel x86_64 2.6.32-642.3.1.el6 @updates 131 M Transaction Summary =========================================================================================================== Remove 2 Package(s) Installed size: 262 M Is this ok [y/N]: y Downloading Packages: Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Erasing : kernel.x86_64 1/2 Erasing : kernel.x86_64 2/2 Verifying : kernel-2.6.32-642.3.1.el6.x86_64 1/2 Verifying : kernel-2.6.32-642.1.1.el6.x86_64 2/2 Removed: kernel.x86_64 0:2.6.32-642.1.1.el6 kernel.x86_64 0:2.6.32-642.3.1.el6 Complete!
Con esto se liberan aproximadamente 54 MB de espacio en disco en la partición /boot
:
[root@centos6 ~]# df -h /boot Filesystem Size Used Avail Use% Mounted on /dev/sda1 194M 56M 129M 31% /boot
[root@centos6 ~]# ll /boot/ total 54945 -rw-r--r-- 1 root root 108107 ago 23 17:04 config-2.6.32-642.4.2.el6.x86_64 -rw-r--r-- 1 root root 108107 oct 4 21:41 config-2.6.32-642.6.1.el6.x86_64 drwxr-xr-x. 3 root root 1024 feb 11 2014 efi drwxr-xr-x. 2 root root 1024 oct 6 08:51 grub -rw------- 1 root root 20794766 ago 24 08:47 initramfs-2.6.32-642.4.2.el6.x86_64.img -rw------- 1 root root 20794826 oct 6 07:45 initramfs-2.6.32-642.6.1.el6.x86_64.img drwx------. 2 root root 12288 feb 11 2014 lost+found -rw-r--r-- 1 root root 215531 ago 23 17:04 symvers-2.6.32-642.4.2.el6.x86_64.gz -rw-r--r-- 1 root root 215530 oct 4 21:41 symvers-2.6.32-642.6.1.el6.x86_64.gz -rw-r--r-- 1 root root 2618532 ago 23 17:04 System.map-2.6.32-642.4.2.el6.x86_64 -rw-r--r-- 1 root root 2618532 oct 4 21:41 System.map-2.6.32-642.6.1.el6.x86_64 -rwxr-xr-x 1 root root 4268880 ago 23 17:04 vmlinuz-2.6.32-642.4.2.el6.x86_64 -rwxr-xr-x 1 root root 4269008 oct 4 21:41 vmlinuz-2.6.32-642.6.1.el6.x86_64
Cabe destacar que, a fin de evitar evitar problemas, es recomendable contar con algún mecanismo de monitoreo y notificación de espacio en disco.