"Repoquery ” è un programma per interrogare informazioni dai repository YUM in modo simile alle query rpm. Il "yum-utils ” deve essere installato per utilizzare questo comando. Se non è già installato nel tuo sistema puoi installare il pacchetto con il seguente comando yum.
# yum install yum-utils
Il comando seguente ci consente di visualizzare le dipendenze di un pacchetto rpm già installato.
# repoquery --requires --resolve [package]
qui,
- –richiede – Elenca le dipendenze del pacchetto.
- –risolvere – Se utilizzato con –requires, risolve le funzionalità per l'origine dei pacchetti.
- pacchetto – nome del pacchetto rpm
Esempio:
# 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
È possibile utilizzare il comando repoquery per raccogliere un elenco di pacchetti che sono dipendenze di un pacchetto che si desidera aggiornare. Tieni presente che questo acquisirà l'ultima versione delle dipendenze anche se specifichi una versione per il pacchetto che stai interrogando
Per ulteriori informazioni, vedere la pagina di manuale man repoquery o il testo della guida “repoquery –help”.
# man repoquery
# repoquery --help
Risolvere le dipendenze in modo ricorsivo
Puoi usare il –ricorsivo opzione con "–richiede –risolvere ” opzione per interrogare i pacchetti in modo ricorsivo. Ad esempio :
# 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
Metodo alternativo:yumdownloader
Un altro modo è utilizzare yumdownloader tieni presente, tuttavia, che questo non acquisirà le dipendenze delle dipendenze, quindi potresti comunque doverlo eseguire su ulteriori pacchetti in fondo all'elenco finché non avrai tutti i requisiti.
# 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:00Come utilizzare "yum downloadonly" per scaricare un pacchetto senza installarlo
Scaricare una versione specifica del pacchetto e le sue dipendenze dal repository per l'installazione offline utilizzando YUMScaricare pacchetti RPM con dipendenze [ yumdownloader Vs yum-downloadonly Vs repoquery]