Como obter a lista de dependências do pacote RPM não instalado?


73

apt-cache show <package> mostra também suas dependências.

yum info <package> não mostra dependências, mas obviamente as conhece.

Como pedir ao yum dependências do pacote especificado?

Respostas:


85

yum não tem essa capacidade. Use a repoqueryferramenta do yum-utilspacote.

repoquery --requires <package>

OU para ver também quais pacotes RPM adicionais são necessários para satisfazer as dependências, use --resolve

repoquery --requires --resolve <package>

Como eu faria o mesmo se eu tiver um arquivo rpm local?
Usman Ismail

Talvez extraia o arquivo de controle do pacote rpm e investigue-o?
Vi.

13
Se você tiver baixado, use rpm -qp --requires <package file>.
Ignacio Vazquez-Abrams

Se você usa o RHN, precisa adicionar --plugins à chamada para recuperar novamente. Veja stackoverflow.com/questions/15433843/…
nlu

O que --resolverealmente faz? A execução repoquery --requires --resolveem um pacote já instalado deve retornar uma lista vazia corretamente, pois todas as dependências já estão satisfeitas? Quando tentei em um pacote que já está instalado, consegui alguns listados, incluindo ele próprio (todos eles já estão instalados).
haridsv

47

Use o deplistcomando

yum deplist <package>

Do manual do yum:

Produz uma lista de todas as dependências e quais pacotes fornecem essas dependências para os pacotes fornecidos.

Atualização para dnf

Para fazer a mesma coisa com dnf, podemos fazer

dnf repoquery --requires <package>

Como man yum2dnfdito:

Uma alternativa ao comando Yum deplist para descobrir as dependências do pacote é dnf repoquery --requires usando o repoquery plugin.


5
Infelizmente, isso retornará uma lista de todos os provedores possíveis de cada dependência, que podem retornar muitas centenas ou milhares de linhas, em vez de uma lista simples dos nomes dos pacotes dependentes.
deesto 8/08/13

13

Se você possui um RPM local, pode obter uma lista de dependências via:

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

2
Também funciona para URLs.
Acumenus 27/08/14

se você omitir q então você pode consultar seus repos configurados: rpm -qr graphviz lista todas as dependências para mim
Natxo asenjo

2

Se você precisar da lista de pacotes necessários, use:

repoquery do dnf --requires --resolve`

No caso do firefox, executando:

sudo dnf repoquery --requires --resolve firefox

Eu tenho a saída: 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

Se você deseja instalar um pacote e suas dependências via yum, tente a opção localinstall em vez disso, se instalar. O localinstallinstala um pacote e encontra todas as dependências e as baixa:

$ yum -y localinstall <package>

Não sou yum guru, mas isso funciona bem para mim, facilita a instalação, incluindo dependências :-)

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.