Bagaimana cara mendapatkan daftar dependensi paket RPM yang tidak diinstal?

73

apt-cache show <package> menunjukkan juga dependensinya.

yum info <package> tidak menunjukkan dependensi, tetapi jelas mengenalnya.

Bagaimana cara menanyakan dependensi paket tertentu kepada yum?

Vi.
sumber

Jawaban:

85

yum tidak memiliki kemampuan itu. Gunakan repoqueryalat dari yum-utilspaket sebagai gantinya.

repoquery --requires <package>

ATAU untuk melihat paket RPM tambahan apa yang diperlukan untuk memenuhi dependensi, gunakan --resolve

repoquery --requires --resolve <package>
Ignacio Vazquez-Abrams
sumber
Bagaimana saya melakukan hal yang sama jika saya memiliki file rpm lokal?
Usman Ismail
Mungkin mengekstrak file kontrol dari paket rpm dan memeriksanya?
Vi.
13
Jika sudah diunduh maka Anda gunakan rpm -qp --requires <package file>.
Ignacio Vazquez-Abrams
Jika Anda menggunakan RHN, Anda perlu menambahkan --plugins ke panggilan untuk repoquery. Lihat stackoverflow.com/questions/15433843/…
nlu
Apa yang --resolvesebenarnya dilakukan? Berjalan repoquery --requires --resolvepada paket yang sudah diinstal harus mengembalikan daftar kosong dengan benar, karena semua dependensi sudah puas? Ketika saya mencobanya pada paket yang sudah diinstal, saya mendapat beberapa daftar, termasuk itu sendiri (semua ini sudah diinstal).
haridsv
47

Gunakan deplistperintah,

yum deplist <package>

Dari manual yum:

Menghasilkan daftar semua dependensi dan paket apa yang menyediakan dependensi tersebut untuk paket yang diberikan.

Perbarui untuk dnf

Untuk melakukan hal yang sama dengan dnf, bisa kita lakukan

dnf repoquery --requires <package>

Seperti yang man yum2dnfdikatakan:

Alternatif untuk Yum deplist perintah untuk mengetahui dependensi paket adalah dnf repoquery --membutuhkan menggunakan plugin repoquery.

Navid Ht
sumber
5
Sayangnya, ini akan mengembalikan daftar semua penyedia yang mungkin dari setiap dependensi, yang pada akhirnya dapat mengembalikan ratusan atau ribuan baris, alih-alih daftar sederhana nama-nama paket dependen.
deesto
13

Jika Anda memiliki RPM lokal, Anda bisa mendapatkan daftar dependensi melalui:

rpm -qpR mediawiki-1.4rc1-4.i586.rpm
Pete
sumber
2
Juga berfungsi untuk URL.
Acumenus
jika Anda ommit -q maka Anda dapat meminta repo yang dikonfigurasi: rpm -qR graphviz mencantumkan semua dependensi untuk saya
natxo asenjo
2

Jika Anda membutuhkan daftar paket yang diperlukan, gunakan:

dnf repoquery - syarat --resolve`

Dalam kasus firefox, dengan menjalankan:

sudo dnf repoquery --requires --resolve firefox

Saya mendapatkan ouput: 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
sumber
0

Jika Anda ingin menginstal paket dan dependensinya melalui yum, cobalah opsi instal lokal jika instal. The localinstallmenginstal sebuah paket dan menemukan setiap dependensi dan download mereka:

$ yum -y localinstall <package>

Saya bukan yum guru tetapi ini berfungsi dengan baik untuk saya, membuatnya mudah untuk menginstal termasuk dependensi :-)

Yooakim
sumber