Проверить зависимости RPM

Когда вы устанавливаете программу с использованием .deb пакетов в Ubuntu, вы можете проверить зависимости пакета, используя Поиск пакетов Ubuntu. Например, я могу увидеть зависимости Wireshark от здесь. Как видите, зависимости отмечены красным маркером. Если вы знаете все пакеты, от которых зависит ваша программа, вы можете скачать их и установить dpkg.

Есть ли альтернативный веб-сайт для пакетов RPM? Специально для RHEL?

Я знаю, что могу получить имя этих пакетов другими способами, например, при установке RPM-пакета с помощью rpm -i, но это неудобно для пользователя и требует доступа к запущенному Linux.


person SuB    schedule 29.09.2013    source источник
comment
admin.fedoraproject.org/pkgdb и apps.fedoraproject.org/packages — это тоже оффтоп (должно быть в Unix и Linux)   -  person Marco Scannadinari    schedule 29.09.2013
comment
@marcoms: ваши ссылки не содержат зависимостей.   -  person SuB    schedule 29.09.2013
comment
Не по теме - относится к Linux и Unix SE   -  person Wayne Werner    schedule 30.09.2013


Ответы (3)


На самом деле это не один, а четыре разных вопроса :).

*) Сначала вы можете быстро вывести список зависимостей/требований загруженного пакета, используя следующие команды:

$ rpm -qp mypackage.rpm --provides
$ rpm -qp mypackage.rpm --requires

*) Во-вторых, вы можете использовать утилиту yum для автоматического удовлетворения этих (несколько загадочных) зависимостей (при условии, что все ваши репозитории настроены правильно и все зависимости доступны):

$ sudo yum install mypackage.rpm

*) В-третьих, есть несколько поисковых ресурсов RPM, некоторые из них уже предложены выше. Я хотел бы указать еще один, просто для справки — pkgs.org.

*) В-четвертых, есть дополнительный популярный репозиторий для дистрибутивов RHEL5 и RHEL6 — EPEL. Обратите внимание, что он не поддерживается Red Hat.

Надеюсь, мой ответ (ы) поможет.

person Peter Lemenkov    schedule 30.09.2013
comment
Зачем использовать опции provides и `рекомендует? - person Motivated; 22.01.2019
comment
Я предпочитаю короткие версии rpm -qPp mypackage.rpm и rpm -qRp mypackage.rpm. Также, очевидно, работает для уже установленных пакетов (rpm -qP mypackage и rpm -qR mypackage.) - person pevik; 22.07.2020

Чтобы просто перечислить все зависимости пакета в командной строке, вот пример, основанный на ответе Питера:

$ PKG="http://yum.postgresql.org/9.3/redhat/rhel-6.2-x86_64/pgdg-sl93-9.3-1.noarch.rpm"

Использование yum (рекомендуется):

$ yum -q deplist $PKG
package: pgdg-sl93.noarch 9.3-1
  dependency: sl-release
   Unsatisfied dependency
  dependency: /bin/sh
   provider: bash.x86_64 4.1.2-8.el6
  dependency: config(pgdg-sl93) = 9.3-1
   provider: pgdg-sl93.noarch 9.3-1

-q выше, конечно, необязателен и эквивалентен --quiet.

Используя об/мин:

$ rpm -qpR $PKG
/bin/sh  
config(pgdg-sl93) = 9.3-1
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
sl-release  

-qpR выше эквивалентно --query --package --requires.

person Acumenus    schedule 27.08.2014

Этот сайт http://www.rpmfind.net/linux/RPM/ предоставляет поисковую систему для RPM-файлов. Вы можете увидеть зависимости и описание. Он также классифицирует их по дистрибутивам.

person jabaldonedo    schedule 29.09.2013