“repoquería ” es un programa para consultar información de los repositorios de YUM de manera similar a las consultas de rpm. Los “yum-utils El paquete debe estar instalado para usar este comando. Si aún no está instalado en su sistema, puede instalar el paquete con el siguiente comando yum.
# yum install yum-utils
El siguiente comando nos permite ver las dependencias de un paquete rpm ya instalado.
# repoquery --requires --resolve [package]
aquí,
- –requiere – Lista de dependencias de paquetes.
- –resolver – Cuando se usa con –requiere, resuelve las capacidades de los paquetes de origen.
- paquete – nombre del paquete rpm
Ejemplo:
# repoquery --requires --resolve nano info-0:5.1-4.el7.x86_64 ncurses-libs-0:5.9-14.20130511.el7_4.x86_64 bash-0:4.2.46-29.el7_4.x86_64 glibc-0:2.17-55.el7_0.3.i686 glibc-0:2.17-106.el7_2.1.x86_64
Puede utilizar el comando repoquery para recopilar una lista de paquetes que son dependencias de un paquete que le gustaría actualizar. Tenga en cuenta que esto tomará la última versión de las dependencias incluso si especifica una versión para el paquete que está consultando
Para más información, consulte la página del manual man repoquery o el texto de ayuda “repoquery –help”.
# man repoquery
# repoquery --help
Resolviendo dependencias recursivamente
Puedes usar el –recursivo opción con “–requiere –resolve ” opción para consultar paquetes recursivamente. Por ejemplo:
# repoquery --requires --resolve --recursive nano pcre-0:8.32-15.el7_2.1.x86_64 glibc-0:2.17-55.el7_0.3.i686 bash-0:4.2.46-29.el7_4.x86_64 libselinux-0:2.2.2-6.el7.x86_64 basesystem-0:10.0-7.el7.noarch tzdata-0:2014g-1.el7.noarch pcre-0:8.32-15.el7_2.1.i686 libstdc++-0:4.8.2-16.2.el7_0.x86_64 libgcc-0:4.8.2-16.2.el7_0.x86_64 nss-softokn-freebl-0:3.16.2.3-9.el7.x86_64 setup-0:2.8.71-4.el7.noarch ncurses-base-0:5.9-13.20130511.el7.noarch zlib-0:1.2.7-13.el7.x86_64 glibc-0:2.17-106.el7_2.1.x86_64 filesystem-0:3.2-21.el7.x86_64 redhat-release-server-0:7.3-7.el7.x86_64 libsepol-0:2.5-6.el7.x86_64 ncurses-libs-0:5.9-14.20130511.el7_4.x86_64 libgcc-0:4.8.3-9.el7.i686 info-0:5.1-4.el7.x86_64 glibc-common-0:2.17-78.el7.x86_64
Método alternativo:yumdownloader
Otra forma es usar yumdownloader sin embargo, tenga en cuenta que esto no tomará dependencias de dependencias, por lo que es posible que deba ejecutarlo en otros paquetes de la lista hasta que tenga todos los requisitos.
# yumdownloader --resolve systemd Loaded plugins: langpacks, product-id --> Running transaction check ---> Package systemd.x86_64 0:219-42.el7_4.4 will be installed --> Processing Dependency: systemd-libs = 219-42.el7_4.4 for package: systemd-219-42.el7_4.4.x86_64 --> Running transaction check ---> Package systemd-libs.x86_64 0:219-30.el7_3.7 will be updated --> Processing Dependency: systemd-libs = 219-30.el7_3.7 for package: libgudev1-219-30.el7_3.7.x86_64 --> Processing Dependency: systemd-libs = 219-30.el7_3.7 for package: systemd-219-30.el7_3.7.x86_64 --> Processing Dependency: systemd-libs = 219-30.el7_3.7 for package: systemd-python-219-30.el7_3.7.x86_64 ---> Package systemd-libs.x86_64 0:219-42.el7_4.4 will be an update --> Running transaction check ---> Package libgudev1.x86_64 0:219-30.el7_3.7 will be updated ---> Package libgudev1.x86_64 0:219-42.el7_4.4 will be an update ---> Package systemd.x86_64 0:219-30.el7_3.7 will be updated --> Processing Dependency: systemd = 219-30.el7_3.7 for package: systemd-sysv-219-30.el7_3.7.x86_64 ---> Package systemd-python.x86_64 0:219-30.el7_3.7 will be updated ---> Package systemd-python.x86_64 0:219-42.el7_4.4 will be an update --> Running transaction check ---> Package systemd-sysv.x86_64 0:219-30.el7_3.7 will be updated ---> Package systemd-sysv.x86_64 0:219-42.el7_4.4 will be an update --> Processing Conflict: systemd-219-42.el7_4.4.x86_64 conflicts dracut < 033-499 --> Restarting Dependency Resolution with new changes. --> Running transaction check ---> Package dracut.x86_64 0:033-463.el7 will be updated --> Processing Dependency: dracut = 033-463.el7 for package: dracut-network-033-463.el7.x86_64 --> Processing Dependency: dracut = 033-463.el7 for package: dracut-config-rescue-033-463.el7.x86_64 ---> Package dracut.x86_64 0:033-502.el7 will be an update --> Running transaction check ---> Package dracut-config-rescue.x86_64 0:033-463.el7 will be updated ---> Package dracut-config-rescue.x86_64 0:033-502.el7 will be an update ---> Package dracut-network.x86_64 0:033-463.el7 will be updated ---> Package dracut-network.x86_64 0:033-502.el7 will be an update --> Finished Dependency Resolution Delta RPMs disabled because /usr/bin/applydeltarpm not installed. (1/8): dracut-config-rescue-033-502.el7.x86_64.rpm | 55 kB 00:00:00 (2/8): dracut-033-502.el7.x86_64.rpm | 321 kB 00:00:00 (3/8): dracut-network-033-502.el7.x86_64.rpm | 97 kB 00:00:00 (4/8): libgudev1-219-42.el7_4.4.x86_64.rpm | 83 kB 00:00:00 (5/8): systemd-libs-219-42.el7_4.4.x86_64.rpm | 376 kB 00:00:00 (6/8): systemd-python-219-42.el7_4.4.x86_64.rpm | 116 kB 00:00:00 (7/8): systemd-sysv-219-42.el7_4.4.x86_64.rpm | 70 kB 00:00:00 (8/8): systemd-219-42.el7_4.4.x86_64.rpm | 5.2 MB 00:00:00Cómo usar "yum downloadonly" para descargar un paquete sin instalarlo
Descargar una versión específica del paquete y sus dependencias del repositorio para la instalación fuera de línea usando YUMDescargar paquetes RPM con dependencias [ yumdownloader Vs yum-downloadonly Vs repoquery]