Mmm y paquetes recomendados / sugeridos


10

Me gustaría instalar un paquete de software en mi sistema Fedora , pero tiene muchas dependencias irracionales (lo que sé con certeza que en realidad no son necesarias).

Solía ​​trabajar en Debian , donde apt-get le permite excluir sistemáticamente los paquetes recomendados y sugeridos , instalando solo las dependencias estrictamente requeridas.

¿Hay alguna manera de hacerlo con Yum ?


Respuestas:


4

No.

Desafortunadamente, la administración de paquetes basada en RPM tiene solo un tipo de dependencias. Es una dependencia o no, no es algo intermedio ( lea aquí ). En mi experiencia, las dependencias en Fedora son bastante limitadas y la funcionalidad no principal no se instala a menos que se realicen instalaciones grupales.

Los múltiples niveles de dependencias muestran uno de los poderes de la gestión de paquetes basada en DEB, en mi opinión.


Instalar eclipse en fedora es una instalación de 400 MB, vine aquí buscando yum install --whithout-recommendspero nada.
MGP

3

EDITAR: Para responder a la pregunta original, sí, eso es posible para los administradores de paquetes que actualmente admiten dependencias débiles. Como ejemplo, en Mageia eso sería igual a urpmi --no-suggests foo. Para SuSe, eso sería zypper in --no-recommends. Algo como esto también debe implementarse para las nuevas versiones de yum, de lo contrario, esas dependencias suaves serían bastante inútiles.


En realidad, hay dependencias débiles en rpm que lo permiten, pero desafortunadamente no se han agregado a yum y a la versión rpm.org que Fedora / RHEL usa desde hace poco (y probablemente ahora solo está disponible a través de rawhide actualmente). Consulte http://lists.rpm.org/pipermail/rpm-maint/2014-February/003666.html para conocer el anuncio reciente y los detalles de implementación. También vea http://lists.baseurl.org/pipermail/yum-devel/2009-September/005844.html para la discusión previa. También hay una página wiki de fedora sobre los cambios en rpm-4.12 que describe este soporte: https://fedoraproject.org/wiki/Changes/RPM-4.12

FWIW, SuSe utiliza dependencias suaves desde hace varios años, consulte http://en.opensuse.org/Libzypp/Dependencies#Weak_dependencies y la sección a continuación que muestra qué admite su rama rpm. También Mandriva / Mageia y las bifurcaciones relacionadas utilizan dependencias suaves (solo sugerencias) desde hace bastante tiempo.

Entonces, para responder la pregunta inicial, actualice a rawhide / rpm-4.12 y use una de las dependencias débiles que admite ahora.

Si necesita más información sobre los detalles internos de implementación de RPM, me complacerá compartirlos.


2

Las dependencias en las distribuciones basadas en RPM funcionan de manera diferente al método dpkg Requiere / Recomienda / Sugiere.

En general, las dependencias en distribuciones basadas en RPM se pueden considerar como un equivalente a "este paquete no funcionará correctamente a menos que se cumpla esta dependencia". Sin embargo, existe cierta libertad artística para que los mantenedores de paquetes incluyan dependencias adicionales como mejor les parezca (ya sea porque no se detectan automáticamente o porque consideran que es un requisito difícil).

Como ejemplo, una aplicación web en Debian / Ubuntu puede tener varias dependencias sugeridas en los paquetes del servidor MySQL. Sin embargo, debido a que no se requiere que el servidor MySQL esté en el servidor web local, no es un requisito difícil, el mismo paquete bajo Fedora no tendría dependencia.

Hay un problema con la metodología RPM, que es lo que ha identificado, a veces hay demasiadas dependencias. Una pregunta común que he escuchado es "¿Por qué este paquete debe incluir bibliotecas para Bluetooth cuando no uso Bluetooth?", Elementos como los complementos opcionales que se incluyen en el paquete de la aplicación principal, generalmente son la causa de esta situación.


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.