martes, 7 de abril de 2009

Eliminar paquetes "huerfanos": Deborphan

Paquetes Huérfanos: Cuando instalas un paquete éste suele tener dependencias, las cuales se instalan automáticamente. Si desinstalas ese paquete "padre", con Synaptic o con Apt-get , las dependencias se quedarán en el disco ocupando un espacio inútil. Después de repetidas instalaciones y desinstalaciones, lo normal es que tengamos una serie de paquetes que no necesitamos ocupando sitio en nuestro ordenador. Esto es debido a las diferentes dependencias entre paquetes, de modo que al eliminar cierto paquetes, sus dependencias no suelen ser eliminadas, acumulándose en el disco duro. A estos paquetes se les llama "huérfanos" (no tienen padre). Nunca está de más ver si tenemos paquetes huérfanos ocupando espacio en nuestro disco.

Deborphan es una utilidad que detecta los paquetes huérfanos. Este paquete se puede instalar con Synaptic. Este comando es muy útil si utilizas apt o synaptic para administrar (instalar/desinstalar)  los paquetes de tu sistema.

Si usas Aptitude en vez de Apt o Synaptic para desinstalar paquetes, no hace falta usar Deborphan porque él mismo, Aptitude, se encarga de eliminar los paquetes huérfanos. ( Ver en los comentarios de este tema: Apt-get , como usar Aptitude)

---------------------------------------------------

Se pueden eliminar los paquetes huérfanos de las siguientes formas:

1- Con un script: En otro blog vi como crear un script para realizar la desinstalación de los paquetes huérfanos de forma automática. Debido a que al eliminar algún fichero huérfano, esto puede producir a su vez más ficheros huérfanos (que dependían de alguno de los anteriores) se aconsejaba ejecutar el script un par de veces seguidas para eliminar todos los posibles ficheros innecesarios. Este script se ejecuta con deborphan y aptitude. Gracias a este script se me ha producido un desastre y se me han desinstalado no solo paquetes huérfanos sino otros programas que no quería desinstalar en absoluto. No aconsejo por lo tanto usar un script, que lo hace todo el solo sin que tú puedas decidir nada: o no hace nada o te desinstala todos los paquetes huerfanos ( y por lo menos a mi me desinstalo unos cuantos paquetes más que no quería desinstalar ). Por ello no pongo el contenido de ese script, para que no os pase lo mismo.

Al ejecutar un script de este tipo, aptitude debe crear un archivo de registro de dicho programa en /var/log/aptitude ( o aptitude.gz). A partir de la información contenida en dicho archivo con la lista_de_paquetes que se han desinstalado, se puede volver a instalarlos desde una terminal con la orden: sudo apt-get install lista_de_paquetes. Esto es lo que hice para recuperar el sistema del desastre que me había producido el dichoso script.

2- Desde Synaptic: Una vez instalado el paquete  deborphan también puedes utilizarlo integrado desde Synaptic. Para ello solo hay que ir a la pestaña Configuración de Synaptic y elegir Filtros: Al seleccionar Filtros se muestra una pantalla: En la pestaña Estado puedes crear todos los filtros que quieras, entre ellos el de mostrar los paquetes huérfanos. Solo hay que dar a crear nuevo filtro con un nombre, por ejemplo "Huérfanos", desmarcar todas las opciones y marcar el filtro de huérfanos. Una vez terminado, al volver a la pantalla principal de Synaptic y elegir en la parte inferior la opción de "Filtros Personalizados", se mostraran todos los filtros personalizados, y en ellos estará el filtro "Huérfanos" con los paquetes huérfanos, con lo que será muy cómodo y sencillo desinstalarlos todos o solo algunos, teniendo por lo tanto mas capacidad de decisión sobre que quitar y que no.



Esta es la forma que aconsejo, ya que no necesitas instalar nada, y te permite mayor control sobre lo que quitas o no.

3- Con un Programa: GtkOrphan es una interfaz gráfica para Deborphan. Una vez instalado ( con Synaptic ) se puede lanzar desde el menú de Aplicaciones-Sistema-Administración, o con Alt+F2: gksu gtkorphan.



Igual que en el caso anterior, desde Synaptic, se mostraran todos los paquetes huérfanos, con lo que será muy cómodo y sencillo desinstalarlos todos o solo algunos, teniendo por lo tanto mas capacidad de decisión que quitar y que no.

-----------------------------------------

Otra forma más, aportada por "Adolfo":

4- Con la Terminal y el comando “orphaner”: Una vez instalado el paquete deborphan se puede ejecutar en una terminal orphaner y te dará los paquetes huérfanos , indicándote si al eliminarlos te van a salir nuevos paquetes huérfanos.




Con este comando además de eliminar los huérfanos puedes hacer solo una simulación para ver que nuevos paquetes te van a quedar huérfanos.
Para ejecutar orphaner es necesario instalar los paquetes deborphan y dialog. Ambos se instalan al instalar deborphan normalmente.

-------------------------------------------------------------------

4 comentarios:

  1. Una vez instalado deborphan se puede ejecutar en una terminal "orphaner" y te dara los paquetes huerfanos , indicándote si al eliminarlos te van a salir nuevos paquetes huerfanos.
    Con este comando además de eliminar los huerfanos puedes hacer solo una simulación para ver que nuevos paquetes te van a quedar huerfanos.
    Para ejecutar orphaner es necesario instalar deborphan y dialog. Ambos se instalan al instalar deborphan normalmente.

    Nunca me ha dado problemas orphaner, (de momento).

    ResponderEliminar
  2. Buenas tardes Nicasio:
    Acabo de hacer la entrada para eliminar paquetes huérfanos y no lo tengo claro, puesto que me dice que elimine por ejemplo virtualbox-ose, ffmpeg, entre otros, y claro, esos los reconozco, pero hay otros que no.
    Son realmente huérfanos, o tendremos un desastre que después no haya manera de arreglar.
    Un saludo, y gracias de antemano.

    ResponderEliminar
  3. Pedro:
    Como Adolfo dice en su comentario: Nunca me ha dado problemas
    También te puede interesar: http://hatteras.wordpress.com/2010/05/04/controlar-los-paquetes-que-se-instalandesinstalan/

    ResponderEliminar
  4. Buenas de nuevo Nicasio. Eliminado, y reiniciado el equipo a ver que pasaba y todo ha ido correcto. Lo que he arrancado funciona con normalidad.
    Muchas gracias y 128mb recuperados.

    ResponderEliminar

A la vez que haces un comentario, por favor da una puntuación al tema: malo, normal, bueno o muy bueno.
Gracias.