Сценарий request представляет собой единственный способ взаимодействия администратора с устанавливаемым пакетом. Это сценарий можно использовать, например, чтобы предоставить администратору возможность выбора установки дополнительных компонентов пакета.
Результат выполнения сценария request должен представлять собой список переменных и их значений. В этот список могут входить любые параметры, созданные в файле pkginfo, а также параметры CLASSES и BASEDIR. В этом списке могут быть указаны переменные среды, которые не назначены в других компонентах. Однако файл pkginfo должен всегда содержать умолчания значений (когда это практически необходимо). Для получения дополнительной информации о переменных среды пакета см. раздел Переменные среды пакета.
Когда сценарий request производит назначение значений для переменной, они должны быть предоставлены для использования командой pkgadd и других сценариев установки.
Сценарий request не может изменять файлы. Этот сценарий только позволяет осуществлять взаимодействие с администратором, осуществляющим установку, и создавать список значений переменных среды на основе результатов этого взаимодействия. Сценарий request выполняется от имени непривилегированного пользователя install, если такой пользователь существует. В противном случае сценарий выполняется от имени пользователя root.
С помощью команды pkgadd производится вызов сценария request с одним аргументом, который указывает имя файла ответов для сценария. В файле ответов хранятся ответы администратора.
При удалении пакета сценарий request не выполняется. Однако назначенные сценарием переменные среды сохраняются и доступны при удалении пакета.
Для каждого пакета может существовать только один сценарий request. Этот сценарий должен иметь имя request.
В среду установки также необходимо добавить значения переменных среды для использования командой pkgadd и других сценариев пакета, добавив их в файл ответов (который сценарий опознает как $1).
Переменные среды системы и стандартные переменные среды установки (за исключением параметров CLASSES и BASEDIR) невозможно изменить с помощью сценария request. Можно изменить все остальные созданные переменные среды.
Сценарий request может изменить только параметр BASEDIR, начиная с ОС Solaris 2.5 и совместимых выпусков.
Каждой переменной среды, с которая может работать сценарий request, в файле pkginfo должно быть присвоено значение по умолчанию.
Формат выходного списка должен быть следующим: PARAM=value. Пример:
CLASSES=none class1 |
В качестве стандартного вход для сценария request определен терминал администратора.
Не выполняйте какого-либо специального анализа целевого компьютера с помощью сценария request. Проверять компьютер на наличие определенных файлов или поведения, а также устанавливать переменные среды на основе такого анализа рискованно. Гарантий, что сценарий request будет выполняться в момент установки пакета, не существует. Администратор, который выполняет установку пакета, может предоставить файл ответов, который произведет вставку переменных среды даже без вызова сценария request. Если сценарий request также производит оценку целевой файловой системы, эта оценка может быть не произведена. Анализ целевого компьютера для специальной обработки лучше оставить сценарию checkinstall.
Если администратор, который будет устанавливать пакет, использует решение JumpStartTM, то установка пакета не должна осуществляться в интерактивном режиме. Необходимо или не предоставлять для своего пакета сценарий request, или сообщать администраторам, чтобы до установки пакета они использовали команду pkgask. Команда pkgask сохраняет ответы администраторов в сценарийrequest. Для получения дополнительных сведений о команде pkgask см. справочную страницу pkgask(1M).