domingo, 13 de enero de 2013

Eliminar Kernels "obsoletos"

Hace un par de días el usuarios Óscar me enviaba un par de Script que él había construido precisamente para este cometido: Eliminar los Kernels "obsoletos".
Tras comentarle que sería muy interesante hacerlos de modo gráfico (cosa esta última que él delegaba en mí) intento de ver que hay por la web al respecto.

Encontrar algo como lo que yo tenía pensado no ha sido fácil, ya que casi todo lo hayado queda completamente encauzado en modo terminal, por lo tanto nada claro o lo suficientemente claro para aquellos menos experimentados que necesitan algo más de seguridad para realizar este proceso.

Lo que yo tenía pensado era crear una interfaz gráfica que mostrara todos los Kernels instalados en el sistema, excepto el que se encuentra en uso. De este modo el usuario tiene la seguridad de eliminar aquellos que no le afectarían para nada en el arranque actual de su sistema.

La denominación de Kernels "obsoletos", no es laa más adecuada, aunque mayoritariamente la denominemos así, no es cierta. En realidad todos esos Kernels son tan útiles como el último instalado..., si los quereros utilizar claro está.
Para los usuarios menos experimentados, esto es algo que poco o nada suelen tocar. Simplemente ver arrancar su sistema y listo.  Pero ven tambien como el grub crece y crece con cada actualización.
Por regla general se suele aconsejar mantener uno de estos Kernels "obsoletos" junto al último instalado o junto al que estemos utilizando habitualmente, que no tiene por que ser el último. Aunque esto ya dependerá de cada cual.
Tras cada actualización del sistema que realiza una distribución, con seguridad tambien trae una nueva versión del Kernel, por lo tanto una actualización de éste.
Así de este modo tras cada actualización, como el que no quiere la cosa y en un tiempo relativamente corto podemos juntarnos con un lista realmente enorme de líneas del kernel en nuestro arranque (por cada Kernel se añaden dos nuevas líneas la de booteo normal y la Recovery), y de las cuales tan solo utilizamos una. Y no digamos ya si tenemos varias distros instaladas...

El último kernel instalado o actualizado siempre se sitúa el primero de la lista para que el sistema por defecto arranque de él. Tras la primera semana de uso de éste sin dar problemas, podemos estar ya bastante seguros de que no los dará en el futuro.

Lo mejor para solucionar esto es eliminar todos aquellos Kernels que no utilicemos, y que lo único que hacen es ocupar espacio y como comentaba anteriormente llenar la lista del arranque del grub.
Para ello he encontrado un Script gráfico tanto para Gnome, MATE, KDE que cumple muy bien su cometido y es exactamente lo que yo tenia en mente.

Se trata al parecer de una utilidad añadida a dos distros Siduction y Aptosid (Sidux).
Este Script nos muestra el Kernel actual, el que estamos utilizando y una lista de todos los Kernels instalado y que son eliminables.


Aunque podemos seleccionar todos a la vez, estos serán eliminados de forma individual y siempre mediando confirmación por nuestra parte su eliminación.


Uno a uno para darnos tiempo a decirdir si queremos quitarlo.


De lo contrario no serán eliminado.



El el caso de tener tan solo un Kernel instalado, nos avisará de ello pero sin posibilidad de eliminarlo.


Bueno, el Script en cuestión es este que os podéis descargar aquí:


Es necesario tener los siguientes paquetes en nuestro sistema instalados desde el Synaptic o vía terminal así:
  • sudo apt-get install dctrl-tools ssft
Luego una vez desempaquetado podemos poner este Script donde nos plazca. Si queremos que sea accesible desde todo el sistema lo compiaremos en la siguietne ruta:
/usr/sbin/  o si lo prefieres en /usr/bin/. Luego con tan solo poner en un terminal el comando... 

  • sudo kernel-remove 
...tendremos esta herramienta a nuestra disposición.
De cualquier modo podemos ejecutar esta utilidad desde donde queramos abriendo un terminal donde se encuentre ubicada y ejecutando el siguiente comando:
  • sudo ./kernel-remove
Si lo que queremos es hacer un lanzador, seleccionaremos en Tipo: Aplicación y en casillaComando le daremos la ruta donde se encuentre, anteponiendo el comando gksu.
Ejemplo:
  • gksu /home/frannoe/Escritorio/kernel-remove

Fuente: Ubuntu Forums

10 comentarios:

  1. Muchas Gracias. Siempre mejorando y facilitándonos la vida.

    ResponderEliminar
  2. Estimado Frann muchas gracias por tu trabajo y por la mencion de mi persona,me enorgullece,pero ademas me resulta muy grato ver como trabajas en un blog que es de muchisima ayuda para todos y sobretodo tu humildad y simpleza,aqui no hay registro con condiciones ni ninguna otra restriccion,aca todos participamos en la medida que podemos.
    sigue asi,y espero que te vaya MUY BIEN yo por mi parte te sigo para seguir aprendiendo
    UN ABRAZO
    oscar

    ResponderEliminar
    Respuestas
    1. Gracias a ti Óscar ya que si tu no te pones en contacto conmigo este artículo ahora no existiría.
      Como tú bien dejas entre ver...aquí no hay medallas. Pero sobre todo yo no soy persona que quiera ponérmelas.
      Y este artículo es más tuyo que mío y así se debe reconocer...y bien contento que estoy de poder hacerlo.
      Muchas gracias Óscar!

      Eliminar
  3. Agradezco muchísimo el post, tanto por lo que se aprende como por la ocurrencia del mismo. El HD donde tengo la distrito es pequeñito, y como bien dices con cada actualización la distrito crece bastante. No se si se gana mucho espacio, espero que cuanto mas mejor. Era algo que pensaba preguntar y no lo he hecho por falta de tiempo, aunque sigo todo lo que publicas. Tengo LMDE XFACE. Servira igual o tendré que hacerlo en consola? Como sería?
    Muchísimas gracias!!!

    ResponderEliminar
    Respuestas
    1. No se merecen Antonio, y sí funciona perfectamente en Xfce.
      Saludos

      Eliminar
    2. Hola de nuevo!. Ya está hecho y lo comento por si a alguien le interesa. El sistema no me deja copiar o desempaquetar el Script en la ruta /usr/sbin/ , así que lo he puesto en funcionamiento desempaquetandolo en la carpeta descargas, y ejecutando allí el terminal.
      Me ha solicitado para funcionar el paquete ssft, a pesar de que con anterioridad había instalado el dctrl-tools ssft, tras hacerlo lo he vuelto a ejecutar, y ha funcionado sin problemas,sólo he quitado un kernel, siguiendo tu consejo de dejar el penúltimo.
      He ganado 88,8 MB, algo es algo, y el arranque del grub con menos lineas
      Si quiero mas espacio supongo tendré que quitar las copias de los repositorios para reinstalar guardados en /var/cache/apt/archives/ excepto los locales u obsoletos que me indique synaptic por no estar soportados ya en un servidor; así como eliminar los indicados en la salida del terminal que ya no son necesarios y que en synaptic los encuentro en estado-instalado (autoeliminables).
      Muchas gracias de nuevo y un saludo.

      Eliminar
    3. Antonio, para añadir o modificar cosas en los directorios Root tienes que abrirlos como tal.
      Lo contenido en /var/cache/apt/archives/ puedes quitarlo cuando quieres, no son necesarios.
      En cambio ten mucho cuidado con eliminar los marcados como Obsoletos ya que muchos son necesarios. Por ejemplo, si quitamos el repositorio de MATE o lo tenemos comentado(#) Synaptic indicará que todos los paquetes de mate* son obsoletos. Lógicamente para nosotros eso no es así.

      Saludos

      Eliminar
  4. He añadido una entrada a mi blog basándome en esta tuya. Espero que no te disguste.
    http://www.miralapantalla.com/eliminar-kernels-del-gestor-de-arranque/
    Saludos!

    ResponderEliminar
    Respuestas
    1. Desde luego que no, para eso está para compartirlo entre todos.
      En todo caso te agradezco por la deferencia de comunicármelo.

      Saludos

      Eliminar