Yum и рекомендуемые / предлагаемые пакеты


10

Я хотел бы установить программный пакет в моей системе Fedora , но он имеет много необоснованных зависимостей (которые я точно знаю, что они на самом деле не требуются).

Раньше я работал над Debian , где apt-get позволяет вам систематически исключать рекомендуемые и предлагаемые пакеты, устанавливая только строго необходимые зависимости.

Есть ли способ сделать это с Yum ?


Ответы:


4

Нет.

К сожалению, управление пакетами на основе RPM имеет только один тип зависимостей. Это зависимость или нет, не что-то среднее ( читай здесь ). По моему опыту, зависимости в Fedora довольно ограничены, и неосновная функциональность не устанавливается, если вы не выполняете групповую установку.

Множество уровней зависимостей показывают, на мой взгляд, одну из возможностей управления пакетами на основе DEB.


Установка eclipse на fedora занимает 400 МБ, я пришел сюда, yum install --whithout-recommendsно ничего не нашел.
MGP

3

РЕДАКТИРОВАТЬ: Чтобы ответить на первоначальный вопрос, да, это возможно для менеджеров пакетов, которые в настоящее время поддерживают слабые зависимости. Как пример, на Mageia это будет равно urpmi --no-suggests foo. Для SuSe это было бы zypper in --no-recommends. Нечто подобное должно быть реализовано и для более новых версий yum, иначе эти программные зависимости были бы довольно бесполезны.


На самом деле существуют слабые зависимости в rpm, которые позволяют это сделать, но, к сожалению, они не были добавлены в yum и версию rpm.org, которую Fedora / RHEL использует с недавнего времени (и, вероятно, в настоящее время доступна только через rawhide). Проверьте http://lists.rpm.org/pipermail/rpm-maint/2014-Feb февраля/003666.html для недавнего объявления и деталей реализации. Также см. Http://lists.baseurl.org/pipermail/yum-devel/2009-September/005844.html для предыдущего обсуждения. Также есть вики-страница fedora об изменениях в rpm-4.12, которая описывает эту поддержку: https://fedoraproject.org/wiki/Changes/RPM-4.12

FWIW, мягкие зависимости используются уже несколько лет SuSe см http://en.opensuse.org/Libzypp/Dependencies#Weak_dependencies и ниже раздел, показывающий , что их обороты ветви опор. Также Mandriva / Mageia и связанные с ними вилки уже давно используют мягкие зависимости (только «Предлагает»).

Итак, чтобы ответить на первоначальный вопрос, обновитесь до rawhide / rpm-4.12 и используйте одну из слабых зависимостей, которые он поддерживает сейчас.

Если вам нужна дополнительная информация о внутренних деталях реализации RPM, я буду рад поделиться ими.


2

Зависимости в дистрибутивах на основе RPM работают иначе, чем метод dpkg требует / рекомендует / предлагает.

Обычно зависимости в дистрибутивах на основе RPM можно рассматривать как эквивалент «этот пакет не будет работать должным образом, если эта зависимость не будет соблюдена». Однако у сопровождающих пакетов есть некоторая творческая свобода включать дополнительные зависимости по своему усмотрению (либо потому, что они не обнаруживаются автоматически, либо потому, что считают это жестким требованием).

Например, веб-приложение в Debian / Ubuntu может иметь различные предполагаемые зависимости от пакетов MySQL Server. Однако, поскольку сервер MySQL не обязательно должен находиться на локальном веб-сервере, это не является жестким требованием, тот же пакет в Fedora не будет зависеть.

Существует проблема с методологией RPM, которую вы определили, иногда слишком много зависимостей. Я слышал общий вопрос: «Почему этот пакет должен включать библиотеки для Bluetooth, когда я не использую Bluetooth?», Такие элементы, как дополнительные плагины, включенные в основной пакет приложения, обычно являются причиной такой ситуации.


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.