Назад | Перейти на главную страницу

Контролировать порядок установки зависимостей yum?

Мне нужно установить приложение, которое имеет 4 зависимости (вывод из файла .spec):

Requires: PA-KBU-KBUONE-SHARED
Requires: PA-KBU-KBUONE-PLI-CONF
Requires: PA-KBU-KBUONE-PLA-CONF
Requires: PA-KBU-KBUONE-PLA-BIN

Эти 4 зависимости должны быть установлены в указанном порядке (первая SHARED, вторая PLI-CONF и т. Д.), Но когда я выполняю yum install app, yum выполняет сортировку по этому списку:

Installing:
app                             noarch            10.0.0-1              localrepo            1.4 k
Installing for dependencies:
PA-KBU-KBUONE-PLA-BIN             noarch            10.0.0-1            localrepo             20 M
PA-KBU-KBUONE-PLA-CONF            noarch            10.0.0-1            localrepo            2.5 M
PA-KBU-KBUONE-PLI-CONF            noarch            10.0.0-1            localrepo             10 k
PA-KBU-KBUONE-SHARED              noarch            10.0.0-1            localrepo            7.1 k

Есть ли способ контролировать порядок, в котором yum устанавливает зависимости?

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

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

Чтобы заставить заказ автоматически, у вас есть только одна возможность:

  • включить правильные зависимости в те пакеты, которые сами также являются зависимостями, т.е.
    PA-KBU-KBUONE-PLI-CONF требуется PA-KBU-KBUONE-SHARED
    PA-KBU-KBUONE-PLA-CONF требует PA-KBU-KBUONE-PLI-CONF и т. Д.
    и таким образом сгенерировать цепочку зависимостей.

Конечно, вы всегда вручную располагаете их в правильном порядке, либо устанавливаете пакеты последовательно, и обычно, когда несколько пакетов выбираются в одной командной строке yum, они также устанавливаются в этом порядке.

Я могу сказать, что вы на самом деле не устанавливали пакеты, иначе вы бы не задавали этот вопрос.

Как правило, yum уже делает это правильно, устанавливая зависимости перед пакетом, который их требует. Для удобства они сортируются только при перечислении устанавливаемых пакетов.