RPM будет установлен только на экземплярах AWS ec2 redhat

Вы не можете. Теория типа Идриса (например, Coq's и Agda's) не поддерживает общую экстенсивность. Учитывая две функции f и g, которые «действуют одинаково», вы никогда не сможете доказать Not (f = g), но вы сможете доказать f = g, если f и g определены то же самое, с точностью до альфа и эта эквивалентности. К сожалению, ситуация только ухудшается, когда вы рассматриваете функции более высокого порядка; есть теорема о таких в стандартной библиотеке Coq, но я не могу найти или запомнить ее прямо сейчас.

0
задан Sasi 14 July 2018 в 01:22
поделиться

2 ответа

Вам нужно будет найти файл, уникальный для этой установки, а затем добавить его в свой тег Requires, например. /etc/redhat-release-aws или что-то в этом роде. Если этот файл не существует, он не будет установлен, но что-то вроде yum также не сможет вам помочь, он, например, не сказал бы: «Для этого RPM требуется AWS». Это просто скажет пользователю, что файл отсутствует.

Если это не определенный файл, вы могли бы написать сценарий и поместить его в раздел %pre. Не имея AWS, я верю, что есть команда, которую вы можете запустить под названием is_aws; вы можете заменить это чем-то вроде «grep -iq aws /etc/os-release»; все, что вернет true / false.

if is_aws; then
  true # do nothing
else
  echo "This RPM requires AWS!" 1>&2
  false
fi

Я на 90% уверен, что скрипт %pre запущен в режиме «set -e», где false приведет к сбою установки. STDOUT игнорируется в режиме без вербовки, поэтому вам нужно написать STDERR.

1
ответ дан Aaron D. Marasco 17 August 2018 в 12:03
поделиться

RPM Red Hat не разрешает зависимости от свойств окружающей среды. Другие варианты RPM. Возможно, можно добиться чего-то подобного с плагином YUM.

В общем, такие зависимости не являются хорошей идеей, поскольку это предотвращает создание системных образов в промежуточных системах, которые не имеют точных свойств цели (например, промежуточная система может не быть системой AWS).

1
ответ дан Florian Weimer 17 August 2018 в 12:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: