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

Установка пакетов ПО

Пакеты программного обеспечения устанавливаются с помощью команды pkgadd. Данная команда переносит содержимое пакета программного обеспечения с распространяемого носителя или из каталога и устанавливает его на целевую систему.

В данном разделе приводятся базовые инструкции по установке пакета с целью проверки правильности установки.

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

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

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

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

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

Взаимодействие с командой pkgadd

Если команда pkgadd сталкивается с проблемой, то первым делом она проверяет файл администрирования установки на наличие соответствующих инструкций. (Для получения дополнительной информации см. страницу admin(4).) Если инструкции отсутствуют, или если соответствующий параметр в файле администрирования установлен на значение ask (спросить), команда pkgadd выдает сообщение с описанием проблемы и предлагает ввести ответ. Обычно запрос выглядит так: Do you want to continue with this installation? (Продолжить установку?). На этот запрос необходимо ответить yes (да), no (нет) или quit (выйти).

Если указано более одного пакета, то в случае ответа no установка текущего пакета будет остановлена, однако команда pkgadd продолжит установку других пакетов. Ответ выйти указывает команде pkgadd, что необходимо прекратить установку всех пакетов.

Установка пакетов на независимых системах или серверах в однородной вычислительной среде

В данном разделе описывается, как производить установку пакетов на независимых системах или серверах в однородной вычислительной среде.

Procedure Как устанавливать пакеты на независимой системе или сервере

  1. Выполните сборку пакета.

    См. раздел Сборка пакета.

  2. Войдите в систему как суперпользователь.

  3. Добавьте пакет программного обеспечения в систему.


    # pkgadd -d device-name [pkg-abbrev...]

    -d device-name

    Указывает расположение пакета. Обратите внимание, что device-name может быть как полным именем пути каталога, так и идентификатором в случае использования ленточного накопителя, дискеты или съемного диска.

    pkg-abbrev

    Имя одного или нескольких пакетов (разделенных пробелом), которые следует добавить. Если имя не указано, команда pkgadd устанавливает все имеющиеся пакеты.


Пример 4–1 Установка пакетов на независимых системах или серверах

Для установки пакета ПО с именем pkgA с ленточного носителя с именем /dev/rmt/0 необходимо ввести следующую команду:


# pkgadd -d /dev/rmt/0 pkgA

Можно устанавливать несколько пакетов одновременно, отделяя их имена друг от друга с помощью пробела:


# pkgadd -d /dev/rmt/0 pkgA pkgB pkgC

Если не указано имя устройства, на котором расположен пакет, команда проверяет буферный каталог, установленный по умолчанию (/var/spool/pkg). Если пакета там нет, установка завершается сбоем.


См. также

Для перехода к следующей задаче откройте ссылку Как проверить целостность пакета.