Comment obtenir la liste des dépendances du paquet RPM non installé?

73

apt-cache show <package> montre aussi ses dépendances.

yum info <package> ne montre pas les dépendances, mais il les connait évidemment.

Comment demander à yum des dépendances du paquet spécifié?

Vi.
la source

Réponses:

85

Miam n'a pas cette capacité. Utilisez plutôt l' repoqueryoutil du yum-utilspackage.

repoquery --requires <package>

OU pour voir également quels paquets RPM supplémentaires sont nécessaires pour satisfaire les dépendances, utilisez --resolve

repoquery --requires --resolve <package>
Ignacio Vazquez-Abrams
la source
Comment ferais-je la même chose si j'ai un fichier rpm local?
Usman Ismail
Peut-être extraire le fichier de contrôle du paquetage rpm et le regarder?
Vi.
13
Si vous l'avez téléchargé, vous utilisez rpm -qp --requires <package file>.
Ignacio Vazquez-Abrams
Si vous utilisez RHN, vous devez ajouter --plugins à l’appel à la repoquerie. Voir stackoverflow.com/questions/15433843/…
nlu
Que fait --resolveréellement? L'exécution repoquery --requires --resolvesur un paquet déjà installé devrait retourner une liste vide, puisque toutes les dépendances sont déjà satisfaites. Lorsque je l'ai essayé sur un paquet déjà installé, j'en ai énuméré quelques-uns, y compris lui-même (tous sont déjà installés).
haridsv
47

Utilisez la deplistcommande,

yum deplist <package>

Du manuel de yum:

Produit une liste de toutes les dépendances et des packages qui fournissent ces dépendances pour les packages donnés.

Mise à jour pour dnf

Pour faire la même chose avec DNF, on peut faire

dnf repoquery --requires <package>

Comme man yum2dnfdit:

Une alternative à la commande Yum deplist pour trouver les dépendances du paquet est dnf repoquery - nécessite l' utilisation du plugin repoquery.

Navid Ht
la source
5
Malheureusement, cela renverra une liste de tous les fournisseurs possibles de chaque dépendance, ce qui peut éventuellement renvoyer plusieurs centaines, voire plusieurs milliers de lignes, au lieu d'une simple liste de noms de packages dépendants.
deesto
13

Si vous avez un RPM local, vous pouvez obtenir une liste de dépendances via:

rpm -qpR mediawiki-1.4rc1-4.i586.rpm
Pete
la source
2
Fonctionne aussi pour les URL.
Acumenus
si vous omettez l'option -q, vous pouvez alors interroger vos dépôts configurés: rpm -qR graphviz répertorie toutes les dépendances pour moi
natxo asenjo
2

Si vous avez besoin de la liste des paquets nécessaires, utilisez:

repoquery dnf --requires --resolve`

Dans le cas de Firefox, en exécutant:

sudo dnf repoquery --requires --resolve firefox

J'ai la sortie: Last metadata expiration check: 0:00:00 ago on Wed 13 Dec 2017 21:41:47 GMT. atk-0:2.26.1-1.fc27.x86_64 bash-0:4.4.12-12.fc27.x86_64 cairo-0:1.15.8-1.fc27.x86_64 cairo-gobject-0:1.15.8-1.fc27.x86_64 dbus-glib-0:0.108-4.fc27.x86_64 dbus-libs-1:1.12.0-1.fc27.x86_64 fontconfig-0:2.12.6-4.fc27.x86_64 freetype-0:2.8-6.fc27.x86_64 freetype-freeworld-0:2.8-4.fc27.x86_64 gdk-pixbuf2-0:2.36.11-1.fc27.x86_64 glib2-0:2.54.2-1.fc27.x86_64 glibc-0:2.26-16.fc27.i686 glibc-0:2.26-16.fc27.x86_64 gtk2-0:2.24.31-6.fc27.x86_64 gtk3-0:3.22.26-1.fc27.x86_64 hunspell-0:1.5.4-4.fc27.x86_64 libX11-0:1.6.5-4.fc27.x86_64 libX11-xcb-0:1.6.5-4.fc27.x86_64 libXcomposite-0:0.4.4-11.fc27.x86_64 libXdamage-0:1.1.4-11.fc27.x86_64 libXext-0:1.3.3-7.fc27.x86_64 libXfixes-0:5.0.3-4.fc27.x86_64 libXrender-0:0.9.10-4.fc27.x86_64 libXt-0:1.1.5-6.fc27.x86_64 libffi-0:3.1-14.fc27.x86_64 libgcc-0:7.2.1-2.fc27.x86_64 libjpeg-turbo-0:1.5.1-4.fc27.x86_64 libstdc++-0:7.2.1-2.fc27.x86_64 libvpx-0:1.6.1-4.fc27.x86_64 libxcb-0:1.12-5.fc27.x86_64 mozilla-filesystem-0:1.9-17.fc27.x86_64 nspr-0:4.17.0-1.fc27.i686 nspr-0:4.17.0-1.fc27.x86_64 nss-0:3.34.0-1.0.fc27.i686 nss-0:3.34.0-1.0.fc27.x86_64 nss-util-0:3.34.0-1.0.fc27.x86_64 p11-kit-trust-0:0.23.8-1.fc27.i686 p11-kit-trust-0:0.23.9-2.fc27.x86_64 pango-0:1.40.14-1.fc27.x86_64 startup-notification-0:0.12-14.fc27.x86_64 u2f-hidraw-policy-0:1.0.2-5.fc27.x86_64 zlib-0:1.2.11-4.fc27.x86_64

Paulo Fidalgo
la source
0

Si vous souhaitez installer un paquet et ses dépendances via yum, essayez plutôt l'option localinstall si install. L' localinstallinstallation d' un paquet et trouve toutes les dépendances et les téléchargements:

$ yum -y localinstall <package>

Je ne suis pas un gourou mais cela fonctionne bien pour moi, le rend facile à installer, y compris les dépendances :-)

Yooakim
la source