Мне нужно установить приложение, которое имеет 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 не имеют каких-либо переключателей (командной строки) для определения порядка, в котором устанавливаются зависимости. Я думаю, что обычно они заканчиваются в лексикографическом порядке.
Единственное требование в отношении зависимостей обычно состоит в том, что они должны быть выполнены до установки пакета, который от них зависит. Если заказ требуется и имеет значение вы, вероятно, делаете что-то не так, и это не проблема зависимости в пакете приложения.
Чтобы заставить заказ автоматически, у вас есть только одна возможность:
Конечно, вы всегда вручную располагаете их в правильном порядке, либо устанавливаете пакеты последовательно, и обычно, когда несколько пакетов выбираются в одной командной строке yum, они также устанавливаются в этом порядке.
Я могу сказать, что вы на самом деле не устанавливали пакеты, иначе вы бы не задавали этот вопрос.
Как правило, yum уже делает это правильно, устанавливая зависимости перед пакетом, который их требует. Для удобства они сортируются только при перечислении устанавливаемых пакетов.