Как заставить мой RPM прервать установку, основываясь на результатах%pre скриптлета
Я создаю пакет RPM, который устанавливает некоторые инструменты в системе. Я хочу проверить состояние машины перед установкой пакета RPM. Мой первоначальный инстинкт - просто запускать некоторые команды из скрипта %pre и "выход 1", если результат не совсем то, что мне нравится. Но потом я столкнулся с этим, который говорит:
Все скриптлеты ДОЛЖНЫ выходить с нулевым статусом выхода.
Есть ли другой способ заставить RPM прервать установку пакета, основываясь на результатах команд оболочки?
1 ответ
Выход из ненулевого значения в скриптлете, безусловно, прервет установку pacakge, но это имеет побочные эффекты. В документе, на который вы ссылаетесь, также обсуждается значение выхода вашего скриптлета с ненулевым статусом. Вы должны внимательно прочитать и понять это, прежде чем пытаться реализовать это.
Если нет необходимости прерывать установку в скриптлете, вам не следует этого делать.
Например, если установка пакета не повредит системе, а программа в пакете просто не будет работать, тогда следует разрешить установку, и решение об установке пакета будет принято в другом месте. Ваша система управления конфигурацией является идеальным местом для этого.