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

Проверка целостности пакета

С помощью команды pkgchk можно проверить целостность пакетов независимо от того, установлены ли они в системе или находятся в пакетном формате (готовы к установке командой pkgadd). Команда подтверждает структуру пакета, установленных файлов и каталогов или отображает информацию об объектах пакета. Команда pkgchk может вывести список или проверить следующее:

Для получения дополнительной информации см. страницу pkgchk(1M).

Команда pkgchkвыполняет два типа проверки. Она проверяет атрибуты файла (права доступа и принадлежность файла, а также старшие и младшие номера блочных или символьных устройств) и содержимое файла (размер, контрольная сумма и дата изменения). По умолчанию команда проверяет как атрибуты, так и содержимое файла.

Кроме того, команда pkgchk сравнивает атрибуты файла и содержимое установленного пакета с базой данных устанавливаемого ПО. Записи о пакете могли измениться со времени установки. Например, другой пакет мог изменить какой-то компонент пакета. Подобные изменения отражаются в базе данных.

ProcedureКак проверить целостность пакета

  1. Установите пакет.

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

  2. Проверьте целостность пакета.


    # pkgchk  [-v] [-R root-path] [pkg-abbrev...]

    -v

    Выводит список файлов по мере их обработки. 

    -R root-path

    Указывает расположение корневой файловой системы клиента. 

    pkg-abbrev

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


Пример 4–2 Проверка целостности пакета

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


$ pkgchk pkg-abbrev
$

При наличии ошибок команда pkgchk выводит их на печать. В противном случае данные не выводятся, и возвращается код выхода 0. Если сокращение пакета не указано, осуществляется проверка всех пакетов в системе.

При необходимости можно использовать параметр -v для вывода на печать списка файлов пакета при отсутствии в нем ошибок. Пример:


$ pkgchk -v SUNWcadap
/opt/SUNWcadap
/opt/SUNWcadap/demo
/opt/SUNWcadap/demo/file1
/opt/SUNWcadap/lib
/opt/SUNWcadap/lib/file2
/opt/SUNWcadap/man
/opt/SUNWcadap/man/man1
/opt/SUNWcadap/man/man1/file3.1
/opt/SUNWcadap/man/man1/file4.1
/opt/SUNWcadap/man/windex
/opt/SUNWcadap/srcfiles
/opt/SUNWcadap/srcfiles/file5
/opt/SUNWcadap/srcfiles/file6
$

Если требуется проверить пакет, установленный в корневой файловой системе клиента, используйте следующую команду:


$ pkgchk -v -R root-path pkg-abbrev

См. также

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