"dépôt ” est un programme permettant d'interroger des informations à partir de référentiels YUM de la même manière que les requêtes rpm. Les "yum-utils ” doit être installé pour utiliser cette commande. S'il n'est pas déjà installé sur votre système, vous pouvez installer le package à l'aide de la commande yum suivante.
# yum install yum-utils
La commande suivante nous permet de visualiser les dépendances d'un package rpm déjà installé.
# repoquery --requires --resolve [package]
ici,
- –nécessite – Répertorier les dépendances des packages.
- –résoudre – Lorsqu'il est utilisé avec –requires, résout les capacités aux packages d'origine.
- forfait – nom du package rpm
Exemple :
# 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
Vous pouvez utiliser la commande repoquery afin de rassembler une liste de packages qui sont des dépendances d'un package que vous souhaitez mettre à jour. Notez que cela récupérera la dernière version des dépendances même si vous spécifiez une version pour le package que vous interrogez
Pour plus d'informations, consultez la page de manuel man repoquery ou le texte d'aide "repoquery –help".
# man repoquery
# repoquery --help
Résoudre les dépendances de manière récursive
Vous pouvez utiliser le –récursif option avec "-nécessite-résolution ” option pour interroger les packages de manière récursive. Par exemple :
# 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éthode alternative :yumdownloader
Une autre façon est d'utiliser yumdownloader veuillez noter cependant que cela ne saisira pas les dépendances des dépendances, vous devrez donc peut-être encore l'exécuter sur d'autres packages dans la liste jusqu'à ce que vous ayez toutes les exigences.
# 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:00Comment utiliser "yum downloadonly" pour télécharger un package sans l'installer
Téléchargement d'une version spécifique du package et de ses dépendances à partir du référentiel pour une installation hors ligne à l'aide de YUMTéléchargement de packages RPM avec dépendances [ yumdownloader Vs yum-downloadonly Vs repoquery]