У меня есть набор пакетов rpm. Я собираюсь установить их все сразу, но прежде чем сделать это, я хочу получить порядок, в котором они будут установлены. Я знаю, что если я предоставлю все их менеджеру пакетов в произвольном порядке, менеджер определит зависимости между ними и установит их в правильном порядке. Как мне получить этот заказ?
1 ответ
yum
нет возможности распечатать этот порядок (см. руководство), а также нет хорошо известного интерфейса для его базы данных и библиотек, который может это сделать. Таким образом, решение должно быть за пределами yum
. Вы всегда можете попросить yum
напечатать полный список дополнительных зависимостей пакета, но эта информация не очень полезна для получения порядка, в котором должны быть установлены пакеты. Проще спросить rpm
.
В принципе, можно написать скрипт, который использует вывод
rpm -qpR package-file
для каждого файла пакета, чтобы получить зависимости и упорядочить их по шагам, например,
- пакеты, которые не зависят от других
- пакеты, которые зависят от одного или нескольких из предыдущих (и, возможно, от других в этой группе), и
- и так до тех пор, пока нет оставшихся пакетов
(Я сделал наоборот - искал пакеты для удаления, и это сложно, но выполнимо).