Hace no mucho se habló aquí de que cuando se desinstalan programas es posible que queden librerías que ya no son necesarias ocupando espacio.
Voy a poner aquí fragmentos de unos cuantos mensajes de es.comp.os.linux porque creo que pueden ser interesantes. (Sobre el apt) [ Yo ] De todos modos lo acabo de probar y realmente está muy bien, pero le veo dos pegas: - si instalo desde el cdrom ¿porqué diablos me copia los paquetes a /var/cache/apt/archives? - está claro que los programadores lo han hecho pensando en facilitar la instalación, pero y la desinstalación ¿qué? En un instante te puedes instalar el gnome por ejemplo, pero para desinstalarlo tienes que ir buscando todos los paquetes que ha instalado. (En otro thread) [ RVM, o sea yo] > De todos modos es una lástima que ningún gestor de paquetes tenga > ninguna opción para recordarle al usuario las librerías > instaladas y que no está usando ningún programa. [ *Puntero_Loco ] Muy sencillo, si estás en debian te vas al dselect, prueba a marcar un paquete de librerías para desintalación, y si no te sale ninguna pantalla de advertencia es que nada usa esas librerías. [ Yo ] Hue-Bond hizo un script que muestra los paquetes que no tienen dependencias con ningún otro, pero... imaginaros esto: dpkg --purge gimp Reading database... Purging package gimp.... The following packages are not needed anymore: gimp-nonfree freefonts libtal1.1 libytal2.4 ... would you like to purge them too? yes Purging... Ok. 11532 files erased. 25643 Kb disk space freed. [ Salvador Petit Marti ] >>[...] >La idea es buena, pero ¿como sabe la máquina si esos paquetes te >interesan por si mismos?. Quizás seria interesante saber cuales son tus >paquetes "hoja" (aquellos de los que no depende ningun otro, y que se >encuentran en los extremos del arbol de dependencias) pues estos son los >que tienes porque quieres (no porque te obliga el apt). ¿El script de >Hue-Bond detectaba estos? [ Yo, otra vez ] Sí, pero no es tan sencillo, porque entre esos paquetes "hoja" hay muchos que son necesarios, además imagínate este caso: entre el listado de paquetes que puedes desinstalar sale el gnome-panel. Vale voy y lo desinstalo. Si vuelvo a ejecutar otra vez el script ahora aparecerán unas cuantas librerías que ya no necesita ningún otro paquete (antes el gnome-panel dependía de ellas). Lo malo es que al ser un script es lento. La debian lleva un paquete llamado pkg-order que muestra el árbol de dependencias pero al estar hecho en perl también es lento. En los últimos días he estado incluso pensando en hacer yo mismo un programa que hiciera este tipo de desinstalaciones, pero lo malo es que no sé como obtener de una forma sencilla en C o C++ la lista de dependencias de un paquete instalado. De todas formas contaré el algoritmo (ojo, que puede no ser correcto) que tenía pensado por si alguien con más conocimientos de programación que yo se anima: Al programa se le pasaría como parámetro el paquete base a desinstalar. El objetivo del programa es averiguar la lista de paquetes que quedarían libres (que ningún otro paquete dependiera de ellos). 1) Comprobar si algún otro paquete instalado depende del paquete que se pretende desinstalar. Si es así no hay nada que hacer. 2) Meter el paquete y su lista de dependencias en una lista (provisional) de paquetes borrables. 3) Recorrer esta lista desde el principio al final y comprobar si cada uno de estos paquetes es necesitado por otro paquete instalado y que no esté en la lista. 4) Si es así el paquete se borra de esta lista (es decir el paquete no se desinstalará). 5) Si no es así (ningún otro paquete depende de él) añadir sus dependencias a la lista de paquetes borrables (para más tarde comprobar si alguno de esos paquetes se pueden borrar también). Cuando se haya recorrido toda la lista se puede dar el caso de que algún paquete sigue estando en la lista porque otro paquete que también estaba en la lista dependía de él, pero si embargo al llegar a él hemos comprobado de que lo tenemos que quitar de la lista porque otro paquete fuera de la lista dependía de este último (buf, esto no está quedando nada claro, no sé si lo entendereis). Por este motivo hay que hacer varias pasadas a la lista hasta que la lista no cambie. 6) Mostrar la lista definitiva en pantalla (o grabarla en un fichero, o directamente proceder a desinstalar los paquetes de la lista). Ricardo Villalba [EMAIL PROTECTED] [EMAIL PROTECTED] http://members.xoom.com/rvmsoft http://rvmsoft.findhere.com