martes, 12 de febrero de 2013

Eliminar Kernel antiguos del Grub2



Hoy os voy a explicar las diferentes maneras de limpiar nuestro PC,de la acumulación de kermel tras un tiempo de actualizaciones del sistema. Os explicare tres maneras de hacerlo, usando Ubuntu-Tweak, a través de Synaptic y la que yo particularmente uso a través de Terminal.


UBUNTU-TWEAKS

Sin duda la manera mas sencilla de las tres que os propongo, solo tenéis que abrir el programa, iros a limpiador y seleccionar como en la imagen ya solo os queda darle a limpiar poner vuestra contraseña y listo kermel limpios.





GESTOR DE PAQUETES SYNAPTIC

Primero necesitamos saber el kermel actual que usamos para no borrarlo, para eso abrimos Terminal y escribimos el siguiente comando: uname -r



Ahora abrimos Synaptic, y en el buscador anotamos el kermel que nos proporciono anteriormente la Terminal. En la imagen a continuación solo se muestra el kermel actual debido a que yo ya los elimine. Para eliminar los viejos simplemente, hacen clic derecho sobre el paquete y le dan a “Marcar para Desistalar”, dejando el que coincide con su kermel actual.



Ahora, para que no se muestren los demás kernels viejos en el grub, modificamos el archivo grub.cfg, el cual se encuentra en /boot/grub.
Para mayor seguridad crearemos una copia tal como esta del archivo, pero le pondremos la extensión backup:

sudo cp /boot/grub/grub.cfg /boot/grub/grub.cfg.backup

(Si se diera el caso que nos paseamos en el archivo grub.cfg que modificamos podemos volver al estado anterior con el respaldo que hicimos).
Bueno, creamos el respaldo el archivo y abrimos el original con gedit para modificarlo:

 


La imagen muestra una entrada del menú del Grub, más específicamente la número cero o la 1ª, las entradas de los kernels antiguos están más abajo, bueno se pueden borrar las entradas que no se quiere que aparezcan en el Grub al arrancar la pc, pero yo sólo los comentaré, de esa forma ya no aparecerán. Para comentar se usa la almohadilla o símbolo '#'. En mi casó sólo dejaré las dos primeras entradas que corresponden al kernel actual, una entrada de MemTest y la de Windows:

 


Después de haber hecho los cambios le damos a Guardar y cerramos gedit.
Para comprobar los cambios reiniciamos:
sudo reboot

USANDO TERMINAL

En primer lugar debemos saber que kermel tenemos instalados en nuestro sistema, para así saber cuales debemos eliminar. Esto se hace con el siguiente comando:
dpkg --get-selections | grep linux-image

Nos saldrá la lista de kermel instalados en nuestro sistema:

linux-image-2.6.32-22-generic        install
linux-image-2.6.32-23-generic        install
linux-image-2.6.32-24-generic        install
linux-image-generic                  install

Importante no eliminar el paquete “Linux-image-generic”

Es posible que nos encontremos en el nombre del kermel la terminacion “-pae”, este es el kermel para la version de 32bits y se encarga de reconocer la memoria RAM cuando es mayor de 3Gb y hasta 64Gb

Yo siempre recomiendo dejar un kermel por si tenemos problemas con futuras actualizaciones. Para eliminarlos usaremos el siguiente comando: sudo aptitude remove –purge, seguido del paquete a eliminar:

sudo apt-get remove --purge linux-image-2.6.32-22-generic

En futuras actualizaciones la versiones de kermel variaran, solo debéis de cambiar el comando.

HEADERS 

Ahora buscamos los headers de los kermel eliminados con anterioridad, con el siguiente comando:

dpkg --get-selections | grep linux-headers

De nuevo nos devolvera una lista con los headers instalados, en la que hay que tener en cuenta que hay dos paquetes por cada headers:

linux-headers-2.6.32-22                        install
linux-headers-2.6.32-22-generic               install
linux-headers-2.6.32-23                        install
linux-headers-2.6.32-23-generic               install
linux-headers-2.6.32-24                        install
linux-headers-2.6.32-24-generic              install
linux-headers-generic                          install

Importante no eliminar el paquete “linux-headers-generic”

Solo debemos eliminar los headers de los kermel eliminados en el paso anterior, cada kermel tiene dos headers el generic y otro que acaba en números.
Para desistalarlos usaremos este comando:

sudo apt-get remove --purge linux-headers-2.6.32-22 linux-headers-2.6.32-22-generic

Al igual que con los kermel, los headers también variaran con las actualizaciones por lo que deberemos cambiar el comando.
Listo ya podemos reiniciar y veremos que ya no salen los kermel eliminados.

ACTUALIZAR EL GRUB 

Lo normal es que al eliminar los kermel, se actualize solo el grub, pero si queréis hacerlo de manera manual lo podemos hacer dependiendo del gestor de arranque que tengamos:

Si tenemos Grub lo actualizamos con:

sudo update-grub 

Si tenemos burg lo actualizamos así:

sudo update-burg

Y listo ya tenemos Grub con los kermel necesarios.
ir arriba