Nos aseguramos que tenemos instalado el paquete deborphan que es el que necesitamos para hacer esta labor:
# dpkg -l | grep deborphan
ii deborphan 1.7.23 Find orphaned libraries
En caso contrario pues lo instalamos vía apt:
# apt-get update
# apt-get install deborphan
Para ver las librerías huérfanas en nuestro sistema:
green-planet:~# deborphan
libfuse2
libpci2
libcrypto++6
libgnome-window-settings1
libxt-java
libportaudio0
libmetacity0
librsvg2-2
libnetpbm10
libmyspell3c2
libdb4.3
libtasn1-3-bin
libopencdk8
libmdbtools
libwnck22
libsasl2
gstreamer0.10-alsa
Comprobamos que se tratan de bibliotecas huérfanas:
alex@green-planet:~$ dpkg -l $(deborphan)
Desired=Unknown/Install/Remove/Purge/Hold
| Estado=No/Instalado/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: mayúsc.=malo)
||/ Nombre Versión Descripción
+++-=======================================-=======================================-==============================================================================================
ii gstreamer0.10-alsa 0.10.17-3 GStreamer plugin for ALSA
ii libcrypto++6 5.5-5 General purpose cryptographic shared library
ii libdb4.3 4.3.29-11 Berkeley v4.3 Database Libraries [runtime]
ii libfuse2 2.7.2-1 Filesystem in USErspace library
ii libgnome-window-settings1 1:2.20.3-2 Utility library for getting window manager settings
ii libmdbtools 0.5.99.0.6pre1.0.20051109-4 mdbtools libraries
ii libmetacity0 1:2.20.2-1 library of lightweight GTK2 based Window Manager
ii libmyspell3c2 1:3.1-18 MySpell spellchecking library
ii libnetpbm10 2:10.0-11.1 Shared libraries for netpbm
ii libopencdk8 0.5.13-2 Open Crypto Development Kit (OpenCDK) (runtime)
ii libpci2 2:2.1.11-3 Obsolete shared library for accessing pci devices
ii libportaudio0 18.1-6 Portable audio I/O - shared library
ii librsvg2-2 2.20.0-1 SAX-based renderer library for SVG files (runtime)
ii libsasl2 2.1.22.dfsg1-8 Authentication abstraction library
ii libtasn1-3-bin 1.3-1 Manage ASN.1 structures (binaries)
ii libwnck22 2.20.3-1 Window Navigator Construction Kit - runtime files
ii libxt-java 0.20050823-2 An implementation in Java of XSL Transformations
El siguiente paso sería eliminar las bibliotecas de las que estemos completamente seguro que no son usadas por aplicaciones que fueron compiladas sin el uso del apt. Es asi porque muchas veces instalamos paquetes a partir de las fuentes y al no haber hecho uso de la herramienta de paquetes avanzada este comando deborphan las ve huérfanas y en realidad van a ser usadas por paquetes que fueron instalados vía apt.
Vayamos uno por uno para más seguridad observando muy detenidamente cuales son las bibliotecas que hemos purgado del sistema.
Creo que voy a optar por la libería de metacity ( el cual es el gestor de ventanas por defecto de casi todos los nuevos gnome). Y como ahora estoy con KDE y con el kwin corriendo eliminaré está por descarte y a los seguro.
#dpkg --purge libmetacity0
(Leyendo la base de datos ...
99624 ficheros y directorios instalados actualmente.)
Desinstalando libmetacity0 ...
Purgando ficheros de configuración de libmetacity0 ...
Repetir ese paso hasta que no queden bibliotecas inutilizadas.
Muchas veces quedan en el sistema archivos de configuración innecesarios esto es cuando eliminamos vía apt y con el parámetro 'apt-get remove' quedando archivos de configuración en /usr o en el /home de tu usuario por eso siempre es más potente usar dpkg --purge que no deja ni rastro del paquete instalado. (ojo! que siempre el oculto .programa si lo deja).
Encontramos los paquetes que solo quedan configuraciones:
alex@green-planet:~$ deborphan --find-config
libopenexr2c2a
libgtop2-7
libtotem-plparser1
libgtksourceview1.0-0
xpostit
libnautilus-burn4
libwnck18
libpigment0.1-0
libgnome-media0
Y a continuación borramos todos:
alex@green-planet:~$ sudo dpkg --purge $(deborphan --find-config)
(Leyendo la base de datos ...
99615 ficheros y directorios instalados actualmente.)
Desinstalando libopenexr2c2a ...
Purgando ficheros de configuración de libopenexr2c2a ...
Desinstalando libgtop2-7 ...
Purgando ficheros de configuración de libgtop2-7 ...
Desinstalando libtotem-plparser1 ...
Purgando ficheros de configuración de libtotem-plparser1 ...
Desinstalando libgtksourceview1.0-0 ...
Purgando ficheros de configuración de libgtksourceview1.0-0 ...
Desinstalando xpostit ...
Purgando ficheros de configuración de xpostit ...
Desinstalando libnautilus-burn4 ...
Purgando ficheros de configuración de libnautilus-burn4 ...
Desinstalando libwnck18 ...
Purgando ficheros de configuración de libwnck18 ...
Desinstalando libpigment0.1-0 ...
Purgando ficheros de configuración de libpigment0.1-0 ...
Desinstalando libgnome-media0 ...
Purgando ficheros de configuración de libgnome-media0 ...
Si queremos ver que no quedan más configuraciones de programas que estuvieron instalados pero ya no lo están.
alex@green-planet:~$ sudo dpkg -l | grep ^rc
rc gnome-media-common 2.18.0-2 GNOME media utilities - common files
rc libgnomecups1.0-1 0.2.2-5 GNOME library for CUPS interaction
rc libgnomeprint2.2-0 2.18.0-2 The GNOME 2.2 print architecture - runtime f
rc libgnomeprintui2.2-0 2.18.0-2 GNOME 2.2 print architecture User Interface
Donde rc quiere decir que estuvieron instalados pero ya no lo están y aún tiene archivos de configuración.
Y por último borrar las aplicaciones que no usamos.
Como bien pone en el mini-tutorial que he leído deborphan solo busca en las secciones de libs y oldlibs pero puede buscar en todas las secciones. De ahí que exista el parámetro (-a) . Entonces vemos toda la lista de paquetes que ningún otro depende de el:
alex@green-planet:~$ deborphan -a
main/misc language-env
main/sound kaudiocreator
main/misc euro-support
main/video zattoo
main/admin sudo
main/net samba
main/x11 xpad
main/net finger
main/net telnet
main/utils sharutils
main/sound xmms-scrobbler
main/graphics w32codecs
main/kde krusader
main/kde kde-icons-nuvox
main/net dnsutils
main/libs libfuse2
main/net proftpd
main/oldlibs libpci2
main/graphics photon
main/kde superkaramba
main/kde knetworkconf
main/libs libcrypto++6
main/misc virtualbox
main/graphics kpdf
main/text texinfo
main/python python-kde3
main/net mtr-tiny
main/math bc
main/libs libgnome-window-settings1
main/utils advancemenu
main/web bluefish
main/doc doc-linux-text
main/kde kde-style-klearlook
main/net pdnsd
main/sound easytag
main/sound alsamixergui
main/x11 libdecoration0
main/kde kde-i18n-es
main/sound wavpack
main/utils rar-2.80
main/python python-newt
main/net traceroute
main/doc manpages
main/libs libxt-java
main/misc metacity-common
main/kde gwenview
main/x11 amule-daemon
main/doc manpages-es
main/doc doc-debian
main/utils kcalc
main/admin linux-image-2.6-k7
contrib/games quake2-data
main/kde yakuake
main/otherosfs wine
main/libs libportaudio0
main/doc debian-reference-es
main/misc tora
main/utils lshw
main/doc doc-debian-es
main/admin at
main/doc doc-linux-es
main/libs librsvg2-2
main/libs libnetpbm10
main/kde kwin-style-crystal
main/perl libgtk2-perl
main/libs libmyspell3c2
main/libs libdb4.3
main/admin acpid
main/kde kopete
main/net noip2
main/x11 xfonts-100dpi-transcoded
main/base ftp
main/libs libtasn1-3-bin
main/x11 amule
main/net nmap
main/sound mp3splt
main/kde ktorrent
main/x11 xfonts-75dpi-transcoded
main/net bjfilter-2.2
contrib/games gxmame
main/math dc
main/devel kbuild
main/net openssh-server
main/alien gnormalize
main/sound audacity
main/shells tcsh
main/admin xmbmon
main/utils acpi
main/doc info
main/graphics 3gpwiz
main/libs libopencdk8
main/sound alsa-utils
main/kde kscreensaver
main/net iputils-ping
main/libs libmdbtools
main/python python-qt4
main/utils synce-kde
main/mail procmail
main/sound alsa-source
main/libs libwnck22
main/admin dselect
main/sound alsa-tools
main/net nbtscan
main/oldlibs libsasl2
main/editors nano
main/text dict
main/utils time
main/mail mpack
main/graphics vlc
main/sound monkeys-audio
main/net iptables
main/web iceweasel-l10n-es-es
main/misc installation-report
main/otherosfs k3b
main/utils strace
main/libs gstreamer0.10-alsa
main/graphics ksnapshot
main/net netcat
main/utils lsof
Ya es ir con sumo cuidado y buscar los paquetes que ya no utilicemos y los desinstalamos con dpkg --purge.
Una vez desinstalados pues vuelta al principio , revisar si quedaron bibliotecas huérfanas.
------------
Me ha encantado este mini-tutorial de Ariel que he visto en ESdebian. A mi me ha servido de mucho y aunque es una idea de como puedes limpiar el sistema lo he visto muy útil.
Montando un sistema de videovigilancia
Hace 6 días

1 comments:
buscando razones de porque deborphan, encontre dicho blog.. y aprobecho de plasmar porque estoy en dicha busqueda o porque llegue aqui:
deborphan solo cuante con las librerias huerfanas del sistema controlado por aptitude, y los el linkcheker del sistema linux, del resto no puede controlarlo..
un caso especial es el que me ocurrio al instalar un kxmame que habia sido compilado con chekinstall, pero no estaba expresado en el paquete.. este linkeaba la libreria libxrender que no existia en debian en aquel entonces..
yo procedi a revisar y poner la libreira (parche) para xfree86 4.2.X y bien, funciono...
depues aplique deborphan (para aprender su funcionamiento en aquel entonces) y pum, me volo la libreria..
con esto quiero expresarles que deben tener cuidado si tienen aplicaciones no oficiales de los repos de debian, ya que deborphan puede traerselas y romperlas..
mas info de debian en McKAY debian issues
Publicar un comentario en la entrada