lunes, 12 de mayo de 2014

Los paquetes y sus dependencias en Debian

Hace mucho que uso Debian (testing), y una de las cosas que siempre me ha molestado es que muchas veces los mantenedores de los paquetes los amarran (por decirlo de alguna manera) a dependencias innecesarias.

O simplemente algún paquete viene con una dependencia como "recomendado/sugerido" y eso ocasiona que se quieran instalar muchos otros paquetes/librerías que no necesitamos en la mayoría de los casos para nada.

Para tratar de explicarlo un poco mejor, un mantenedor de una librería llámese "X" sirve para varios fines, como reproducir música y vídeo por ejemplo, ahora, una aplicación que depende de ella para poder reproducir Blu-ray necesita o depende del entorno de Java para funcionar correctamente.

Pero que pasa con los usuarios de otra aplicación para reproducir música y vídeo diferente a esta? tienen que instalar si o si el entorno de Java aunque no lo usen solo porque una librería tiene una dependencia que satisface otra aplicación que ustedes no utilizan?

En efecto, así es, a menos que modifiquen la librería en cuestión y eliminen la dependencia innecesaria tendrán que instalarla, diferente a eso, cambiar de aplicación.

Otras muchas veces los culpables son los paquetes o librerías marcados como recomendado/sugerido, esto hace que se pida instalar paquetes que jamas en la vida vamos a usar, como por ejemplo:

root@lm ~ # apt-get dist-upgrade Leyendo lista de paquetes... Hecho Creando árbol de dependencias Leyendo la información de estado... Hecho Calculando la actualización... Listo Se instalarán los siguientes paquetes NUEVOS: docbook-dsssl docbook-utils fonts-lmodern fonts-texgyre jadetex javascript-common libjs-jquery libosp5 libostyle1c2 libptexenc1 libruby2.0 libsgmls-perl libsp1c2 libtcl8.6 libtk8.6 libyaml-0-2 lmodern luatex openjade prosper ps2eps ruby ruby2.0 rubygems-integration sgmlspl sp tcl tcl8.6 tex-common tex-gyre texlive-base texlive-binaries texlive-extra-utils texlive-font-utils texlive-fonts-recommended texlive-fonts-recommended-doc texlive-generic-recommended texlive-latex-base texlive-latex-base-doc texlive-latex-recommended texlive-latex-recommended-doc texlive-luatex texlive-pictures texlive-pictures-doc texlive-pstricks texlive-pstricks-doc tipa tk tk8.6 Se actualizarán los siguientes paquetes: iceweasel kernel-package libegl1-mesa libegl1-mesa-dev libegl1-mesa-drivers libgbm1 libgl1-mesa-dev libgl1-mesa-dri libgl1-mesa-glx libglapi-mesa libgles2-mesa libmozjs24d libopenvg1-mesa libqt4-dbus libqt4-network libqt4-script libqt4-xml libqtcore4 libqtdbus4 libqtgui4 libwayland-egl1-mesa mesa-common-dev powermgmt-base qdbus qt4-qtconfig qtcore4-l10n vim-common vim-tiny whois xulrunner-24.0 30 actualizados, 49 se instalarán, 0 para eliminar y 0 no actualizados. Necesito descargar 407 MB de archivos. Se utilizarán 591 MB de espacio de disco adicional después de esta operación. ¿Desea continuar? [S/n] n Abortado. root@lm ~ #

En serio? 407 MB de descarga?, mejor todavía, 30 actualizados y 49 para instalar?.

Parece absurdo pero así es, y este ejemplo es más bien moderado, los he visto peores, el culpable de este problema en particular? kernel-package, como lo se? sencillo, instalando paquete por paquete hasta dar con el responsable.

En la mayoría de los casos debo descargar el paquete que causa el problema e instalarlo desde la linea de comandos, eso casi siempre resuelve el problema, parece mucho trabajo (a veces lo es) pero me alegra decir que esto no pasa muy seguido, de echo a veces pasa tanto tiempo que cuando pasa me dan ganas de volver a windows xD pero no, imagino que cada S.O. tiene su cruz con que cargar.

No hay comentarios: