Я использовал следующий метод, который может быть не защищен от ошибок, но, кажется, работает:
Предполагая, что переменная PACKAGES
содержит список пакетов, которые вы хотите установить, затем:
- Выполнить
yum -y install $PACKAGES
(я полагаю, если это скрипт, вы действительно хотите передать -y
, чтобы избежать подсказок). - Проверить состояние выхода для обнаружения некоторых условия отказа.
- Запуск
rpm --query --queryformat "" $PACKAGES
, который ничего не выдаст для каждого пакета, который был успешно установлен, и выдаст package <name> is not installed
для каждого сбоя. - Проверьте состояние выхода, котороеПохоже, это число пакетов, которые не были успешно установлены, т. е. при успешном выполнении будет равно 0.
Это будет работать, только если PACKAGES
содержит простые имена пакетов, которые, как ожидается, yum
найти в репозитории, если он не содержит других вещей, которые yum
принимает, например, URL-адреса, имена файлов или Provides:
имен.