18.1.3 Зависимости

Один из мощнейших источников проблем - зависимости. Здесь случаи могут варьироваться от простейшего случая установки необходимого пакета, до сложных случаев различия в версиях разделяемых библиотек или модулей Perl.

Рекомендации можно свести к следующим: используйте репозитории вендора вашего дистрибутива, используйте автоматизированные средства, вроде yum или yast для удовлетворения зависимостей пакета.

Если зависимость возникла от системной библиотеки, например, библиотеки C определенной версии, проще пересобрать пакет из исходников, чтобы получить пакет, оптимизированный на использование данной версии.

Более серьезные случаи возникают, когда пакет зависит от прикладной разделяемой библиотеки, например, смена API в библиотеке может привести приложение к неработоспособному состоянию. Установите пакет-собственник прикладной библиотеки нужной версии и вновь пересоберите пакет из исходников.

Ряд пакетов являются devel-пакетами. Они зависят от базового пакета. Например, rpm-devel зависит от базового пакета rpm. rpm-python зависит как от python, так и от rpm базовых пакетов определенной версии. Подход в разделении пакетов на базовый и devel-пакеты применяется в Red Hat, но другие вендоры не обязаны ему следовать. Исследуйте документацию для ознакомления с подходами вендора вашего дистрибутива.

Многие пакеты зависят от интерпретаторов языков сценариев (скриптовых языков), например, Perl. Подчас зависимость возникает из-за скрипта, использованного в пакете или из-за триггера, в котором задействованы какие-то скрипты. Проблемы могут возникнуть из-за расположения интерпретаторов на файловой системе. Например, Perl может быть установлен в /usr/bin/perl или в /usr/local/bin/perl. Кроме того, пакет может зависеть от определенного модуля Perl.

Пути к файлам также могут быть источниками проблем. Файл может находится по другому пути или принадлежать другому пакету. В этом случае следует найти пакет, которому принадлежит файл и убедиться, что пакет установлен.

Поисковые системы по пакетам, например, rpmseek.com также умеют обнаруживать пакеты, содержащие определенный файл.

Далее - Пути установки
Назад - Разделение ПО по пакетам
Содержание