Существуют две категории компонентов пакета:
объекты пакета - файлы устанавливаемого приложения;
контрольные файлы - контролируют, как, куда и при каких условиях устанавливается пакет.
Контрольные файлы также разделены на две категории: информационные файлы и сценарии установки. Некоторые контрольные файлы являются обязательными. Некоторые контрольные файлы являются необязательными.
Перед созданием пакета приложений необходимо создать обязательные и необязательные компоненты, которые будут составлять пакет. После этого можно выполнить сборку пакета с помощью команды pkgmk.
Для сборки пакета необходимо иметь следующее.
Объекты пакета (файлы и каталоги прикладного ПО)
Два обязательных информационных файла ( pkginfo и prototype )
Необязательные информационные файлы
Необязательные сценарии установки
На рисунке ниже описано содержимое пакета.
Перед сборкой пакета необходимо создать следующие компоненты.
Объекты пакета
Эти компоненты образуют приложение. Они могут состоять из следующих элементов.
Файлы (исполняемые файлы или файлы данных)
Каталоги
Именованные каналы
Ссылки
Устройства
Файл pkginfo
Файл pkginfo содержит обязательную информацию о пакете, определяющую значения параметров. В число значений параметров входят краткое название пакета, полное название пакета и архитектура пакета. Для получения дополнительной информации см. раздел Создание файла pkginfo и справочную страницу pkginfo(4).
Есть две справочные страницы с названием pkginfo(1) На первой справочной странице описана команда раздела 1, которая отображает информацию об установленных пакетах. На второй справочной странице описан файл раздела 4, содержащий характеристики пакета. При работе со справочными страницами обязательно указывайте соответствующий раздел справочной страницы. Пример: man -s 4 pkginfo.
Файл prototype
Файл prototype содержит обязательную информацию о пакете. В нем перечислены все компоненты пакета. Для каждого объекта пакета, информационного файла и сценария установки имеется одна запись. Эта запись состоит из нескольких полей с данными, которые описывают каждый компонент, включая его местоположение, атрибуты и тип файла. Для получения дополнительной информации см. раздел Создание файла prototype и справочную страницу prototype(4).
В пакет можно включить четыре необязательных информационных файла:
Определяет предыдущие версии пакета, которые совместимы с данной версией.
Указывает другие пакеты, у которых есть особая связь с вашим пакетом.
Определяет потребность в дополнительном дисковом пространстве на целевом компьютере помимо того, которое требуется для объектов, указанных в файле prototype. Например, дополнительное пространство может понадобиться для файлов, которые динамически создаются во время установки пакета.
Определяет текст сообщения об авторских правах, которое показывается во время установки пакета.
Каждый информационный файл пакета должен иметь запись в файле prototype. Для получения дополнительной информации о создании этих файлов см. раздел Создание информационных файлов.
Сценарии установки не являются обязательными. Тем не менее, можно снабдить пакет сценариями, которые предлагают действия, выполняемые пользователями во время установки пакета. Сценарий установки имеет следующие характеристики.
Сценарий состоит из команд интерпретатора sh.
Права для файла сценария должны быть установлены на 0644.
Наличие в сценарии идентификатора интерпретатора команд ( #! /bin/sh) не обязательно.
Существуют четыре типа сценариев.
Сценарий request
Сценарий request запрашивает ввод от администратора, устанавливающего пакет.
Сценарий checkinstall
Сценарий checkinstall производит специальную верификацию файловой системы.
Сценарий checkinstall доступен только в выпуске SolarisTM 2.5 и совместимых выпусках.
Процедурные сценарии определяют действия, которые выполняются в определенный момент установки и удаления пакета. Можно создать четыре процедурных сценария со следующими заранее установленными именами: preinstall, postinstall, preremove и postremove.
Сценарии действий над классами
Сценарии действий над классами определяют набор действий, которые будут выполняться над группой объектов.
Для получения дополнительной информации о сценариях установки см. раздел Создание сценариев установки.