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