Miam et forfaits recommandés / suggérés

10

J'aimerais installer un package logiciel sur mon système Fedora , mais il a beaucoup de dépendances déraisonnables (dont je sais avec certitude qu'elles ne sont pas réellement nécessaires).

J'avais l'habitude de travailler sur Debian , où apt-get vous permet d'exclure systématiquement les paquets recommandés et suggérés , en installant uniquement les dépendances strictement requises.

Y a-t-il un moyen de le faire avec Yum ?

Dacav
la source

Réponses:

4

Non.

Malheureusement, la gestion des packages basée sur RPM n'a qu'un seul type de dépendances. C'est une dépendance ou non, pas quelque chose entre les deux ( lire ici ). D'après mon expérience, les dépendances dans Fedora sont assez limitées et les fonctionnalités non essentielles ne sont pas installées sauf si vous effectuez des installations de groupe.

Les multiples niveaux de dépendances montrent, à mon avis, l'un des pouvoirs de la gestion de packages basée sur DEB.

gertvdijk
la source
Installer eclipse sur fedora est une installation de 400 Mo, je suis venu ici à la recherche d'un yum install --whithout-recommendsmais rien.
MGP
3

EDIT: Pour répondre à la question d'origine, oui, cela est possible pour les gestionnaires de packages qui prennent actuellement en charge les dépendances faibles. Par exemple, sur Mageia, cela équivaudrait à urpmi --no-suggests foo. Pour SuSe, ce serait zypper in --no-recommends. Quelque chose comme ça doit être implémenté pour les nouvelles versions yum aussi, sinon ces dépendances douces seraient plutôt inutiles.


En fait, il existe de faibles dépendances dans rpm qui permettent cela, mais malheureusement celles-ci n'ont pas été ajoutées à yum et à la version rpm.org que Fedora / RHEL utilise depuis récemment (et alors probablement uniquement disponible via rawhide actuellement). Consultez http://lists.rpm.org/pipermail/rpm-maint/2014-F February / 003666.html pour l'annonce récente et les détails de mise en œuvre. Voir également http://lists.baseurl.org/pipermail/yum-devel/2009-September/005844.html pour la discussion précédente. Il y a aussi une page wiki fedora sur les changements dans rpm-4.12 qui décrit ce support: https://fedoraproject.org/wiki/Changes/RPM-4.12

FWIW, les dépendances logicielles sont utilisées depuis plusieurs années par SuSe, voir http://en.opensuse.org/Libzypp/Dependencies#Weak_dependencies et la section ci-dessous qui montre ce que leur branche rpm prend en charge. Mandriva / Mageia et les fourches associées utilisent également des dépendances douces (uniquement des suggestions) depuis un certain temps.

Donc, pour répondre à la question initiale, passez à rawhide / rpm-4.12 et utilisez l'une des faibles dépendances qu'il prend en charge maintenant.

Si vous avez besoin de plus d'informations sur les détails de l'implémentation RPM interne, je serai heureux de les partager.

doktor5000
la source
2

Les dépendances dans les distributions basées sur RPM fonctionnent d'une manière différente de la méthode dpkg Requiert / Recommande / Suggère.

Généralement, les dépendances dans les distributions basées sur RPM peuvent être considérées comme équivalentes à "ce paquet ne fonctionnera pas correctement à moins que cette dépendance ne soit respectée". Cependant, il existe une certaine liberté artistique pour les responsables de packages d'inclure des dépendances supplémentaires comme bon leur semble (soit parce qu'ils ne sont pas détectés automatiquement, soit parce qu'ils pensent que c'est une exigence difficile).

Par exemple, une application Web dans Debian / Ubuntu peut avoir diverses dépendances suggérées sur les paquets MySQL Server. Cependant, comme il n'est pas nécessaire que le serveur MySQL soit sur le serveur Web local, ce n'est pas une exigence difficile, le même paquet sous Fedora n'aurait aucune dépendance.

Il y a un problème avec la méthodologie RPM, c'est ce que vous avez identifié, parfois il y a trop de dépendances. Une question courante que j'ai entendue est «Pourquoi ce package devrait-il inclure des bibliothèques pour Bluetooth lorsque je n'utilise pas Bluetooth?

New Jersey
la source