¿Cómo obtener la lista de dependencias del paquete RPM no instalado?

73

apt-cache show <package> muestra también sus dependencias.

yum info <package> no muestra dependencias, pero obviamente las conoce.

¿Cómo pedirle a yum dependencias del paquete especificado?

Vi.
fuente

Respuestas:

85

mmm no tiene esa capacidad. Utilice la repoqueryherramienta del yum-utilspaquete en su lugar.

repoquery --requires <package>

O también para ver qué paquetes RPM adicionales son necesarios para satisfacer las dependencias, use --resolve

repoquery --requires --resolve <package>
Ignacio Vazquez-Abrams
fuente
¿Cómo haría lo mismo si tengo un archivo rpm local?
Usman Ismail el
¿Quizás extraer el archivo de control del paquete rpm y buscarlo?
Vi.
13
Si lo has descargado, entonces lo usas rpm -qp --requires <package file>.
Ignacio Vazquez-Abrams
Si usa RHN, debe agregar --plugins a la llamada para volver a realizar consultas. Ver stackoverflow.com/questions/15433843/…
nlu
¿Qué hace --resolverealmente? La ejecución repoquery --requires --resolvede un paquete que ya está instalado debería devolver una lista vacía, ya que todas las dependencias ya están satisfechas. Cuando lo probé en un paquete que ya está instalado, obtuve algunos enumerados, incluido él mismo (todos estos ya están instalados).
haridsv
47

Usar deplistcomando

yum deplist <package>

Del manual de yum:

Produce una lista de todas las dependencias y qué paquetes proporcionan esas dependencias para los paquetes dados.

Actualización para dnf

Para hacer lo mismo con dnf, podemos hacer

dnf repoquery --requires <package>

Como man yum2dnfdijo:

La alternativa al comando deplist de Yum para descubrir las dependencias del paquete es dnf repoquery, que requiere el uso del complemento repoquery.

Navid Ht
fuente
55
Desafortunadamente, esto devolverá una lista de todos los proveedores posibles de cada dependencia, que puede terminar devolviendo muchos cientos o miles de líneas, en lugar de una simple lista de los nombres de los paquetes dependientes.
deesto
13

Si tiene un RPM local, puede obtener una lista de dependencias a través de:

rpm -qpR mediawiki-1.4rc1-4.i586.rpm
Pete
fuente
2
Funciona para URL también.
Acumenus
si omite -q, puede consultar sus repositorios configurados: rpm -qR graphviz enumera todas las dependencias para mí
natxo asenjo
2

Si necesita la lista de paquetes necesarios, use:

dnf repoquery --requires --resolve`

En el caso de firefox, ejecutando:

sudo dnf repoquery --requires --resolve firefox

Tengo la salida: 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
fuente
0

Si desea instalar un paquete y sus dependencias a través de yum, pruebe la opción de instalación local en su lugar si lo instala. La localinstallinstalación de un paquete y encuentra las dependencias y las descarga:

$ yum -y localinstall <package>

No soy un gurú yum, pero esto funciona bien para mí, hace que sea fácil de instalar, incluidas las dependencias :-)

Yooakim
fuente