jump to navigation

Eliminar kernel antiguo en Ubuntu 9.04 3 Agosto 2009

Posted by bushwaca in Linux, Ubuntu.
Tags: ,
trackback
kernel

kernel

Bueno, voy a mostrarles como hacer para borrar un kernel antiguo de nuestro sistema de una forma que a mi entender es bastante simple, aunque tambien lo pueden hacer desde el gestor de paquetes Synaptic.

Si bien eliminar un kernel no es muy necesario ya que no es algo que ocupe mucho lugar en el disco y si son de instalar versiones limpias cada cierto tiempo ni se dan cuenta de tener 3 o 4 opciones de arranque para su sistema, algunos no hacen instalaciones limpias he incluso tienen varios SO instalados con distintos kernels y se hace algo molesto tener en el GUB muchas opciones de arranque.

Primero deben tener en cuenta que es recomendable tener por lo menos 2 versiones distintas del kernel en su sistema por cualquier cosa… uno nunca sabe bien que es lo que puede pasar. Si eres algo experimentado puedes dejar solo uno por cada SO que tengas, pero si algo se rompe del kernel le preguntas a Google y no a mi jajaja.

Pero que es el kernel o nucleo?
En informática, el núcleo (también conocido en español con el anglicismo kernel, de la raíz germánica Kern) es la parte fundamental de un sistema operativo. Es el software responsable de facilitar a los distintos programas acceso seguro al hardware de la computadora o en forma más básica, es el encargado de gestionar recursos, a través de servicios de llamada al sistema. Como hay muchos programas y el acceso al hardware es limitado, el núcleo también se encarga de decidir qué programa podrá hacer uso de un dispositivo de hardware y durante cuánto tiempo, lo que se conoce como multiplexado. Acceder al hardware directamente puede ser realmente complejo, por lo que los núcleos suelen implementar una serie de abstracciones del hardware. Esto permite esconder la complejidad, y proporciona una interfaz limpia y uniforme al hardware subyacente, lo que facilita su uso para el programador.

Comencemos

Tenemos dos opciones basicas para realizar nuestro cometido, una es eliminando completamente un kernel y la otra es escondiendolo del GRUB:

a) Eliminar un kernel antiguo:
1 – Abrimos una cosola y vemos que kernels tenemos instalados poniendo:
sudo dpkg -l | grep linux-image

Nos dara una salida como esta:
ii linux-image-2.6.28-11-generic 2.6.28-11.42 Linux kernel ...
ii linux-image-2.6.28-13-generic 2.6.28-13.45 Linux kernel ...
ii linux-image-2.6.28-14-generic 2.6.28-14.47 Linux kernel ...
ii linux-image-generic 2.6.28.14.19 Generic ...

Que resumiendo podemos decir que tenemos estos:
2.6.28-11-generic
2.6.28-13-generic
2.6.28-14-generic

2 – Teniendo en cuenta que el “2.6.28-11-generic” es el mas antiguo vamos a eliminarlo poniendo en consola:
sudo aptitude purge linux-image-2.6.28-11-generic

3 – Veremos si tenemos instalados los “headers” de ese kernel que eliminamos poniendo en una consola:
sudo dpkg -l | grep linux-headers

Nos dara una salida como esta:
ii linux-headers-2.6.28-11 2.6.28-11.42 Header files ...
ii linux-headers-2.6.28-11-generic 2.6.28-11.42 ...
ii linux-headers-2.6.28-13 2.6.28-13.45 Header files ...
ii linux-headers-2.6.28-13-generic 2.6.28-13.45 ...
ii linux-headers-2.6.28-14 2.6.28-14.47 Header files ...
ii linux-headers-2.6.28-14-generic 2.6.28-14.47 ...
ii linux-headers-generic 2.6.28.14.19 Generic ...

Es decir que podemos ver claramente que estan los headers del kernel que eliminamos instalados ahi mismo, que serian estos:
linux-headers-2.6.28-11
linux-headers-2.6.28-11-generic

4 – Teniendo en cuenta que eliminamos el kernel “2.6.28-11″ eliminaremos los headers correspondientes poniendo en consola:
sudo aptitude purge linux-headers-2.6.28-11

Nota: tambien se eliminaran los headeders “generic” del mismo poniendo el comando anterior y se eliminara de forma automatica del GRUB la opcion de ingresar con este kernel al sistema.

5 – Reinician y ven como no les aparece mas ese kernel como opcion de arranque.

b) Esconder un kernel antiguo del GRUB

Haciendo esto no eliminamos ningun kernel, solo lo estamos escondiendo del menu de arranque del sistema (del GRUB)

1 – Abrimos una consola y editamos el menu del GRUB poniendo:
sudo gedit /boot/grub/menu.lst

2 – En ese fichero buscamos las lineas referente al kernel que queremos esconder como por ejemplo las del kernel 2.6.28-11 que dice algo mas o menos asi:
title Ubuntu 9.04, kernel 2.6.28-11-generic
uuid 64383d16-713d-457c-9cd7-8942bd26506c
kernel /boot/vmlinuz-2.6.28-11-generic ...
initrd /boot/initrd.img-2.6.28-11-generic
quiet

title Ubuntu 9.04, kernel 2.6.28-11-generic (recovery mode)
uuid 64383d16-713d-457c-9cd7-8942bd26506c
kernel /boot/vmlinuz-2.6.28-11-generic ...
initrd /boot/initrd.img-2.6.28-11-generic

El primer grupo de lineas pertenece al arranque generico del kernel en cuestion y el segundo al modo recuperacion del mismo kernel.

3 – Lo que debemos hacer ahora es comentar estas lineas agregandole delante de cada una el simbolo “#”. Nos quedaria de la siguiente manera:
#title Ubuntu 9.04, kernel 2.6.28-11-generic
#uuid 64383d16-713d-457c-9cd7-8942bd26506c
#kernel /boot/vmlinuz-2.6.28-11-generic ...
#initrd /boot/initrd.img-2.6.28-11-generic
#quiet

#title Ubuntu 9.04, kernel 2.6.28-11-generic (recovery mode)
#uuid 64383d16-713d-457c-9cd7-8942bd26506c
#kernel /boot/vmlinuz-2.6.28-11-generic ...
#initrd /boot/initrd.img-2.6.28-11-generic

4 – Guardamos el fichero, reiniciamos y comprobamos que no tenemos mas esa opcion para elegir en el arranque.

Espero que les guste. Hasta la otra.

Comentarios»

1. Punkan - 20 Agosto 2009

Gracias por la solucion!

bushwaca - 20 Agosto 2009

Me alegro de que te fue util. Gracias a ti por comentar.

Saludos.

2. Eduardo - 29 Agosto 2009

Genial.
Tenía 7 kernels antiguos y eliminé varios de ellos gracias a tu post :)

bushwaca - 29 Agosto 2009

Bien, me alegro de que te fue util.

PD: uff 7 kernels? Seguro que ganaste un lindo espacio en disco.

Saludos y gracias por comentar.

3. Eliminar kernel con Synaptic en Ubuntu 9.10 « Mi Block de Notix - 21 Diciembre 2009

[...] de nuestro sistema usando el gestor de paquetes Synaptic. Si bien con anterioridad explique como hacerlo en consola tal vez a alguno le resulte mas simple de esta [...]