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.