Руководство разработчика по пакетированию приложений

База данных устанавливаемого ПО

Информация о всех пакетах, установленных в системе, хранится в базе данных устанавливаемого ПО. Она содержит запись для каждого объекта пакета, а также такую информацию, как имя компонента, его местоположение и тип. Каждая запись содержит данные о пакете, к которому принадлежит тот или иной компонент, данные о других пакетах, которые могут ссылаться на данный компонент, а также такую информацию, как имя пути, местоположение компонента и его тип. Записи автоматически добавляются и удаляются с помощью команд pkgadd и pkgrm. С помощью команд pkgchk и pkginfo можно просмотреть информацию, содержащуюся в базе данных.

С каждым компонентом пакета связаны два типа информации. Атрибутивная информация описывает сам компонент. Примерами атрибутивной информации служат права доступа к компоненту, идентификатор владельца и идентификатор группы. Информация о содержимом описывает содержимое компонента, например размер файла и время последнего изменения.

База данных устанавливаемого ПО отслеживает состояние пакета. Пакет может быть полностью установлен (успешно завершен процесс установки) или установлен частично (процесс установки не был успешно завершен).

Когда пакет установлен частично, части этого пакета могли быть установлены до того, как процесс установки был прерван. Таким образом, часть пакета установлена и запись об этом внесена в базу данных, а часть нет. При переустановке пакета выдается запрос на начало с того места, где установка была прервана, поскольку команда pkgadd имеет доступ к базе данных и может определить, какие части уже были установлены. Кроме того, установленные части пакета можно удалить на основе информации, содержащейся в базе данных устанавливаемого ПО, с помощью команды pkgrm.