KasperskyOS Community Edition 1.3

Утилита cas-pm

В составе KasperskyOS Community Edition поставляется утилита cas-pm (исполняемый файл toolchain/bin/cas-pm), устанавливающая KPA-пакеты в собираемый образ решения на базе KasperskyOS.

Синтаксис shell-команды для запуска утилиты cas-pm:

cas-pm {-p|--pkgsdir} <DIR> {-d|--dbpath} <PATH> {-a|--appsdir} <DIR> [--rootdir <DIR>] [{-l|--layout} <PATH>] {-e|--extention} <ARG> {-r|--reinstall} <-v[v...]> [--sign-ext <ARG>] [--index-ext <ARG>] <PACKAGES>... [--version] [-h|--help]

Параметры:

  • {-p|--pkgsdir} <DIR>

    Путь в системе, где установлен SDK, к директории, в которой расположены KPA-пакеты для установки.

  • {-d|--dbpath} <PATH>

    Полное имя файла базы данных SQLite, которая содержит данные об установленных KPA-пакетах. Если база данных еще не создана, она будет автоматически сгенерирована при запуске утилиты с указанным именем, и в нее будет добавлена информация об устанавливаемых KPA-пакетах.

    Чтобы компонент PackageManager смог обнаружить базу данных после запуска решения на базе KasperskyOS, выполните следующие шаги:

    1. После вызова утилиты cas-pm скопируйте файл базы данных в файловую систему, которая будет помещена в образ решения на базе KasperskyOS. Если полное имя файла базы данных изначально указывалось в такой файловой системе, этот шаг можно пропустить.
    2. Передайте полное имя файла базы данных в файловой системе, которая будет помещена в образ решения на базе KasperskyOS, через параметр DB_PATH в CMake-команду create_package_manager_entity() (подробнее см. "Сценарий использования компонента PackageManager").
  • {-a|--appsdir} <DIR>

    Путь в системе, где установлен SDK, к директории, в которую будут размещены KPA-пакеты перед записью в образ решения на базе KasperskyOS.

  • --rootdir <DIR>

    Директория, относительно которой будут установлены KPA-пакеты в образ решения на базе KasperskyOS. Директорию указывайте в той файловой системе, которая будет помещена в образ решения на базе KasperskyOS. Информация о размещении KPA-пакетов будет внесена в базу данных и потребуется компоненту PackageManager при удалении KPA-пакетов.

  • {-l|--layout} <PATH>

    Полное имя файла формата JSON, который используется для переопределения путей установки компонентов KPA-пакета. Полное имя файла указывайте в системе, где установлен SDK. По умолчанию при установке KPA-пакета его компоненты размещаются в директориях в зависимости от типа компонента KPA-пакета (подробнее смотри ключ componentType в статье "Список объектов components".). Чтобы изменить названия директорий по умолчанию, следует задать свои значения для ключей: bin, res, lib и manifestLocale. Чтобы компонент PackageManager смог обнаружить компоненты KPA-пакета после запуска решения на базе KasperskyOS, имя этого файла нужно передать в параметре CUSTOM_LAYOUT CMake-команды create_package_manager_entity() (подробнее см. "Сценарий использования компонента PackageManager").

    Пример файла custom_layout_schema.json:

    { "bin" : "custom-bin-path", "res" : "CustomResPath", "lib" : "CustomLibPath", "manifestLocale" : "Custom_manifestLocale_Path" }
  • {-e|--extention} <ARG>

    Расширение для файла KPA-пакета. Значение по умолчанию: kpa.

  • {-r|--reinstall}

    Переустановка KPA-пакетов.

  • -v[v...]

    Уровень журналирования действий, выполняемых утилитой. Количество знаков v отображает уровень журналирования. Сообщения выводятся в стандартный вывод. Возможные значения:

    • -v

      На этом уровне журналируется информация о нормальной работе утилиты без детализации, а также ошибки и предупреждения о потенциальных проблемах.

    • -vv[v...]

      На этом уровне добавляется детальное журналирование информации о работе утилиты, которая может быть полезна для разработчиков при диагностике проблем.

  • --sign-ext <ARG>

    Расширение для файла внешней подписи KPA-пакета. Подробнее про внешнюю подпись KPA-пакета см. "Работа с KPA-пакетами".

  • --index-ext <ARG>

    Расширение для индексного файла KPA-пакета. Подробнее про индексный файл KPA-пакета см. "Работа с KPA-пакетами".

  • <PACKAGES>

    Список полных имен устанавливаемых KPA-пакетов в системе, где установлен SDK. Расширение файла указывать не нужно. Элементы списка разделяйте знаком пробела.

  • --version

    Версия утилиты.

  • -h|--help

    Текст справки.

Примеры shell-команд для запуска утилиты cas-pm:

# Переустановить пакет helloworld.kpa, расположенный в директории, заданной переменной ${PKG_DIR}. # Пакет предварительно будет размещен в директории ${ROOTFS_DIR}/package перед записью в образ # решения на базе KasperskyOS. Директория ${ROOTFS_DIR}/package находится в файловой системе, # которая будет скопирована в образ решения. База данных repository.sqlite с информацией об # установленных в образе пакетах будет расположена в директории, заданной переменной ${ROOTFS_DIR}. # При установке ведется детальное журналирование выполняемых утилитой действий. /opt/KasperskyOS-Community-Edition-<version>/toolchain/bin/cas-pm --pkgsdir ${PKG_DIR} --reinstall -vvv --dbpath ${ROOTFS_DIR}/repository.sqlite --appsdir ${ROOTFS_DIR}/package --rootdir ${ROOTFS_DIR}/package --extension kpa ${PKG_DIR}/helloworld