Jak uzyskać listę zależności od niezainstalowanego pakietu RPM?


73

apt-cache show <package> pokazuje również, że są to zależności.

yum info <package> nie pokazuje zależności, ale oczywiście je zna.

Jak zapytać yum o zależności określonego pakietu?

Odpowiedzi:


85

mniam nie ma takiej możliwości. Zamiast tego użyj repoquerynarzędzia z yum-utilspakietu.

repoquery --requires <package>

LUB, aby zobaczyć, które dodatkowe pakiety RPM są potrzebne do spełnienia zależności, użyj --resolve

repoquery --requires --resolve <package>

Jak zrobiłbym to samo, jeśli mam lokalny plik RPM?
— Usman Ismail

Może wyodrębnij plik kontrolny z pakietu rpm i zajrzyj do niego?
— Vi.

13
Jeśli masz już pobrany, użyj rpm -qp --requires <package file>.
— Ignacio Vazquez-Abrams

Jeśli używasz RHN, musisz dodać --plugins do wywołania w celu repoquery. Zobacz stackoverflow.com/questions/15433843/…
— nlu

Co --resolvewłaściwie robi? Uruchomienie repoquery --requires --resolvepakietu, który jest już zainstalowany, powinno zwrócić właściwą pustą listę, ponieważ wszystkie zależności są już spełnione? Kiedy wypróbowałem to na pakiecie, który jest już zainstalowany, dostałem kilka wymienionych, w tym siebie (wszystkie są już zainstalowane).
— haridsv

46

Użyj deplistpolecenia,

yum deplist <package>

Z podręcznika mniam:

Tworzy listę wszystkich zależności i tego, jakie pakiety zapewniają te zależności dla danych pakietów.

Aktualizacja dla dnf

Aby zrobić to samo z dnf, możemy to zrobić

dnf repoquery --requires <package>

Jak man yum2dnfpowiedzieliśmy:

Alternatywą dla polecenia Yum deplist, aby dowiedzieć się o zależnościach pakietu, jest dnf repoquery - wymaga użycia wtyczki repoquery.


5
Niestety, spowoduje to zwrócenie listy wszystkich możliwych dostawców każdej zależności, co może spowodować zwrócenie setek lub tysięcy wierszy zamiast prostej listy nazw zależnych pakietów.
— deesto

13

Jeśli masz lokalny RPM, możesz uzyskać listę zależności poprzez:

rpm -qpR mediawiki-1.4rc1-4.i586.rpm

2
Działa również w przypadku adresów URL.
— Acumenus

jeśli zwolnisz -q, możesz zapytać o skonfigurowane repozytorium: rpm -qR graphviz wyświetla dla mnie wszystkie zależności
— natxo asenjo

2

Jeśli potrzebujesz listy potrzebnych pakietów, użyj:

dnf repoquery --requires --resolve`

W przypadku Firefoxa, uruchamiając:

sudo dnf repoquery --requires --resolve firefox

Mam wyjście: 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


0

Jeśli chcesz zainstalować pakiet i jego zależności przez yum, spróbuj zamiast tego opcji localinstall w przypadku instalacji. localinstallZainstalować pakiet i wyszukuje wszystkie zależności i pobiera je:

$ yum -y localinstall <package>

Nie jestem mniam guru, ale to działa dla mnie dobrze, ułatwia instalację, w tym zależności :-)

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.