Come ottenere l'elenco delle dipendenze del pacchetto RPM non installato?


73

apt-cache show <package> mostra anche le sue dipendenze.

yum info <package> non mostra dipendenze, ma ovviamente le conosce.

Come chiedere a yum le dipendenze del pacchetto specificato?

Risposte:


85

yum non ha questa capacità. Utilizzare invece lo repoquerystrumento dal yum-utilspacchetto.

repoquery --requires <package>

OPPURE per vedere quali pacchetti RPM aggiuntivi sono necessari per soddisfare le dipendenze, usare --resolve

repoquery --requires --resolve <package>

Come farei lo stesso se avessi un file rpm locale?
Usman Ismail,

Forse estrarre il file di controllo dal pacchetto rpm e esaminarlo?
Vi.

13
Se lo hai scaricato, allora lo usi rpm -qp --requires <package file>.
Ignacio Vazquez-Abrams,

Se usi RHN, devi aggiungere --plugins alla chiamata per repoquery. Vedere stackoverflow.com/questions/15433843/...
NLU

Cosa fa --resolveeffettivamente? L'esecuzione repoquery --requires --resolvesu un pacchetto già installato dovrebbe restituire un elenco vuoto, dal momento che tutte le dipendenze sono già soddisfatte? Quando l'ho provato su un pacchetto che è già installato, ne ho elencati alcuni, incluso se stesso (tutti questi sono già installati).
Haridsv,

47

Usa il deplistcomando,

yum deplist <package>

Dal manuale di yum:

Produce un elenco di tutte le dipendenze e quali pacchetti forniscono tali dipendenze per i pacchetti dati.

Aggiornamento per dnf

Per fare la stessa cosa con dnf, possiamo fare

dnf repoquery --requires <package>

Come man yum2dnfdetto:

Alternativa al comando deplist di Yum per scoprire le dipendenze del pacchetto è dnf repoquery - richiede l' utilizzo del plugin repoquery.


5
Sfortunatamente, questo restituirà un elenco di tutti i possibili fornitori di ciascuna dipendenza, che può finire per restituire molte centinaia o migliaia di righe, anziché un semplice elenco dei nomi dei pacchetti dipendenti.
deesto

13

Se si dispone di un RPM locale, è possibile ottenere un elenco di dipendenze tramite:

rpm -qpR mediawiki-1.4rc1-4.i586.rpm

2
Funziona anche per gli URL.
Acumenus,

se ommit -q puoi interrogare i tuoi repository configurati: rpm -qR graphviz elenca tutte le dipendenze per me
natxo asenjo

2

Se hai bisogno dell'elenco dei pacchetti necessari, usa:

dnf repoquery --requires --resolve`

Nel caso di Firefox, eseguendo:

sudo dnf repoquery --requires --resolve firefox

Ho il risultato: 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


0

Se si desidera installare un pacchetto e le relative dipendenze tramite yum, provare invece l'opzione localinstall se installa. Il localinstallinstallare un pacchetto e trova eventuali dipendenze e li scarica:

$ yum -y localinstall <package>

Non sono un guru di yum ma questo funziona bene per me, rende facile l'installazione, comprese le dipendenze :-)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.