Почему rpm --whatrequires не сообщает о зависимостях?

Вы «знаете, если шаблон [начинается с] '-', то следует использовать опцию -e», но вы не используете ее, когда должны. grep -e -example file1 даст вам ожидаемый результат.

Вот что на самом деле выполняется в каждом из ваших примеров:

  • grep -example file1 => grep -e xample file1 (-e is necessary)
  • grep '-example' file1 => grep -e xample file1 (-e is necessary)
  • grep "-example" file1 => grep -example file1 (-e не требуется)
1
12.10.2016, 17:47
2 ответа

Как уже упоминалось, другим пакетам могут потребоваться файлы или что-то еще из списка "предоставляет" пакета:

rpm -q --list openssl openssl-libs
rpm -q --provides openssl openssl-libs

Чтобы узнать, есть ли some "whatrequires" (не все):

rpm -e --test openssl openssl-libs

Перечислить all IMO невозможно напрямую с rpm , но в случае yum (не проверено) :

yes "N" | yum remove openssl openssl-libs

или

yum deplist openssl openssl-libs

или

repoquery --alldeps --whatrequires openssl openssl-libs
2
27.01.2020, 23:25

это просто означает, что никто явно не просит установить этот пакет; но некоторые пакеты могут зависеть от файлов, установленных другими пакетами. Например, на моей машине; никто не зависит от пакета; но некоторые зависят от библиотеки, предоставляемой пакетом:

$ rpm -q libopenssl1_0_0-32bit
libopenssl1_0_0-32bit-1.0.1i-18.1.x86_64 # whence this package is installed
$ rpm -q --whatrequires libopenssl1_0_0-32bit
no package requires libopenssl1_0_0-32bit
$ rpm -ql libopenssl1_0_0-32bit
/lib/engines
/lib/engines/libcapi.so
/lib/engines/libgmp.so
/lib/engines/libgost.so
/lib/engines/libpadlock.so
/lib/libcrypto.so.1.0.0
/lib/libssl.so.1.0.0
$ rpm -q --whatrequires libssl.so.1.0.0
libldap-2_4-2-32bit-2.4.41-14.1.x86_64
cups-libs-32bit-1.7.5-7.1.x86_64

EDIT из-за отредактированного вопроса:

вы можете использовать rpm -e --test, чтобы узнать, какие это rpm. С помощью некоторой обработки bash вы можете получить чистый список:

$ rpm -e --test libopenssl1_0_0-32bit 2>&1 | grep needed | awk '{print $6}' | sort | uniq
cups-libs-32bit-1.7.5-7.1.x86_64
libldap-2_4-2-32bit-2.4.41-14.1.x86_64
1
27.01.2020, 23:25

Теги

Похожие вопросы