Начало работы#

Установка#

curl -fsSL https://dl.astralinux.ru/astra-flatpak/setup.sh | sudo bash

Что делает скрипт:

  • ставит flatpak, если его нет в системе;

  • ставит aft-tools со всеми инструментами набора;

  • подключает системные Flatpak-репозитории astra-main и astra-extended.

До запуска на машине должны быть подключены штатные репозитории дистрибутива, причём оба: main и extended. Часть зависимостей инструментов лежит именно в extended, на всех линиях 1.8 это dpkg-dev, appstream-util и ostree, а на ранних ещё и libflatpak0 с libspdlog1.10. С одним подключённым main установка прервётся на них.

Проверка#

apt-cache policy aft-tools
flatpak remotes --system

Ожидается установленный aft-tools и два подключённых репозитория: astra-main и astra-extended.

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

Приложение собирается на SDK и работает на среде выполнения. Обе ставятся парой одной версии, потому что собранное на одной версии среды на другой может не запуститься:

sudo flatpak install astra-main org.astra.Gtk//1.8.6
sudo flatpak install astra-extended org.astra.gtkSdk//1.8.6

Для новых сборок рекомендуется линия 1.8.6.

Какая среда под что:

  • org.astra.mainPlatform - базовая среда без графических библиотек, для консольных программ.

  • org.astra.Gtk - GTK3 и GTK4, а также libsecret, libnotify и libappindicator3.

  • org.astra.Qt - Qt5 целиком.

  • org.astra.Qt6 - Qt6, только на линии 1.8.6.

Список доступного выводит flatpak remote-ls:

flatpak remote-ls astra-main
flatpak remote-ls astra-extended

Подключение репозиториев вручную#

Репозитории подключаются и вручную, файлами .flatpakrepo:

sudo flatpak remote-add --if-not-exists --from astra-main \
    https://dl.astralinux.ru/astra-flatpak/main.flatpakrepo
sudo flatpak remote-add --if-not-exists --from astra-extended \
    https://dl.astralinux.ru/astra-flatpak/extended.flatpakrepo

В main лежат среды выполнения, драйверы GL и готовые приложения; в extended - SDK, базовые приложения и расширения сборки. Для сборочной машины нужны оба.

Подключение репозиториев на машине пользователя, которому нужно только установить готовое приложение, описано в разделе Установка на машине пользователя.

Состав поставки#

aft-tools - мета-пакет: он ставит набор целиком. Каждый инструмент поставляется и отдельным пакетом, поэтому на сборочной машине можно обойтись только нужными.

Ещё два пакета относятся к набору, но ставятся по-разному:

  • oval-db - база определений уязвимостей. Ставится вместе с aft-scanner как рекомендуемый пакет. Без неё поиску уязвимостей не с чем сверять состав ПО.

  • aft-ml-model - модель предсказания разрешений песочницы. Сам не ставится, устанавливается по желанию отдельной командой. Без него разрешения предлагаются по правилам. Его зависимостям (python3-sklearn, python3-scipy, python3-joblib) тоже нужен extended-репозиторий дистрибутива.