Skip to main content

Error al actualizar Kernel en VPS XEN con Debian 6 Squeeze

Sucede que cuando el gestor de paquetes trata de actualizar el kernel Linux (por ejemplo el kernel linux-image-2.6.32-5-686-bigmem) XEN no permite a la VPS acceder al MBR y grub falla. Este inconveniente se produce en VPS que usan como sistema operativo Debian 6 Squeeze.

El proceso muestra el error así:


Setting up linux-image-2.6.32-5-686-bigmem (2.6.32-45) ...
Running depmod.
Running update-initramfs.
update-initramfs: Generating /boot/initrd.img-2.6.32-5-686-bigmem
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 2.6.32-5-686-bigmem /boot/vmlinuz-2.6.32-5-686-bigmem
run-parts: executing /etc/kernel/postinst.d/zz-update-grub 2.6.32-5-686-bigmem /boot/vmlinuz-2.6.32-5-686-bigmem
Searching for GRUB installation directory ... found: /boot/grub
Searching for default file ... Generating /boot/grub/default file and setting the default boot entry to 0
entry not specified.
run-parts: /etc/kernel/postinst.d/zz-update-grub exited with return code 1
Failed to process /etc/kernel/postinst.d at /var/lib/dpkg/info/linux-image-2.6.32-5-686-bigmem.postinst line 799,  line 2.
dpkg: error processing linux-image-2.6.32-5-686-bigmem (--configure):
 subprocess installed post-installation script returned error exit status 2

Resolver el error sin embargo, es tan fácil como eliminar parte de grub, cosa que no necesitamos en nuestra VPS. Lo haremos con el comando:

apt-get remove grub-legacy grub-common

Borrar kernel antiguos en Ubuntu

Una de las características mas importantes de Ubuntu y los sistemas tipo Debian es lo fácil que es mantener el sistema actualizado. Pero nos ocurre que a medida que se instalan a través de actualizaciones los nuevos kernels, los anteriores quedan ocupando espacio en disco y en el Grub en el menú de arranque del sistema.

Lo que debemos hacer es borrar los obsoletos y dejar el más reciente. Para saber como identificar los kernel usamos el siguiente comando que mostrará un listado de los kernels instalados:

aptitude search ~ilinux-image-2

El comando siguiente nos indica cual es el que esta activo:

uname -r

Sabiendo esto solamente debemos desinstalar los que queramos menos el activo, que será seguramente el más reciente. El comando para hacer esto sería:

sudo aptitude purge linux-image-2.6.32-32-generic

Que adecuaremos para cada kernel a desinstalar.