Основным параметром при запросе зависимостей является имя пакета, однако имеется возможность делать запрос и по имени зависимости. Этот функционал позволяет определить, какой пакет требует данную возможность.
Опция --whatrequires позволяет найти пакеты, требующие данную возможность. Базовый синтаксис:
rpm q query_options --whatrequires capability |
Некоторые пакеты не требуются никакому другому:
$ rpm -q --whatrequires tcsh |
В какой-то степени это удачное обстоятельство, так как подобные пакеты могут быть удалены из системы без каких-либо проблем.
Разделяемые библиотеки также могут являтся именем зависимости. Запрос должен быть таким:
$ rpm -q --whatrequires librpm-4.1.so |
Этот пример показывает, что библиотека ядра системы RPM используется группой пакетов, имеющих отношение к RPM (за исключением пакета net-snmp).
Возможность, указываемая в запросе, должна быть поименована точно. Например, результаты будут различны для bash и /bin/bash, так как в первом случае имеет место имя пакета, во втором - команда. Для первого имени получим список пакетов, требующи наличия пакета bash:
$ rpm -q --whatrequires bash |
Если же запросить пакеты, которые требуют интерпретатора /bin/bash, получим следующий вывод:
$ rpm -q --whatrequires /bin/bash |
Не существует короткой формы опции --whatrequires .
Другие возможности, в особенности разделяемые библиотеки, используются большим количеством пакетов. Например:
# rpm -q --whatrequires libcrypt.so.1 | sort |
Поскольку некоторые пакеты требуют доступа к функциям шифрования/дешифрования, эта библиотека приобретает критическое значение для нормального функционирования операционной системы.
Для более удобного отслеживания зависимостей запросы можно комбинировать. Например:
$ rpm -q --provides sendmail |
Первая команда выводит список возможностей, которые предоставляет пакет sendmail, включая шаблонную возможность smtpdaemon. Далее можно запросить список пакетов, нуждающихся в этих возможностях, как показано во второй команде. Это хорошая помощь в процессе анализа пакетов, которые зависят от других пакетов, которые зависят еще от каких-то пакетов.
Далее - Какой пакет предоставляет данную возможность?
Назад - Проверка на конфликты
Содержание