Состав среды выполнения

Состав среды выполнения#

Команда aft-sbom-generator собирает состав ПО по содержимому готовой rootfs среды выполнения. Она читает базу установленных пакетов внутри rootfs, поэтому применяется к собранной системе, а не к установленному Flatpak-приложению.

Как это применяется#

Состав собирается по пути к rootfs и идентификатору среды:

aft-sbom-generator <путь-к-rootfs> org.astralinux.Platform

В результат попадает по записи на каждый установленный пакет: имя, версия, архитектура, лицензия, сопровождающий, контрольная сумма и идентификатор PURL.

Опции#

  • --version <версия> (или -v) - версия среды, встраиваемая в метаданные (по умолчанию 1.0.0).

  • --arch <арх> (-a) - архитектура (по умолчанию amd64).

  • --description <текст> (-d) - описание среды; при отсутствии определяется по идентификатору.

  • --base-image <образ> (-b) - имя базового образа; при отсутствии определяется по идентификатору.

  • --output <путь> (-o) - путь к выходному файлу.

  • --format <формат> (-f) - формат вывода; поддерживается cyclonedx-json.

  • --quiet (-q) - тихий режим.

  • --help (-h) - справка.

Где сохраняется результат#

По умолчанию файл кладётся внутрь самой rootfs, в /usr/share/sbom/<идентификатор>-<версия>.cdx.json, а его копия сохраняется в /tmp на машине, где идёт сборка, для быстрого просмотра. Произвольный путь задаётся флагом --output; тогда копия в /tmp всё равно создаётся.

Этот же состав формируется автоматически при сборке среды инструментом aft-runtime (см. Создание сред выполнения (aft-runtime)), но кладётся в другое место: /usr/share/runtime/<идентификатор>-<версия>.cdx.json, и копия в /tmp при этом не создаётся. Инструменты AFT читают оба расположения, так что на работу поиска уязвимостей и сравнения зависимостей это не влияет. Отдельный запуск aft-sbom-generator нужен для уже готовой rootfs, которую не собирал aft-runtime.

О структуре итогового документа - в блоке Формат и использование.