[devel-distro] Отчёт об атомарном образе и предложение для улучшения пакетной базы

Дмитрий dmitry at udalov.online
Tue Apr 1 23:22:17 MSK 2025


Здравствуйте, хотел бы вернуться к теме обсуждения атомарного образа и 
базы пакетов ALT.

Для начала хотел бы рассказать о проделанной работе для атомарного образа:

1. Мы сделали простой сборщик который полностью собирает live ISO с 
помощью mkimage-profiles на github, итоговый файл отправляется в облако 
yandex и остаётся как артефакт внутри github, полная автоматизация, 
сборщик запускается каждую неделю или по требованию

https://github.com/alt-atomic/atomic-distro-builder

https://storage.yandexcloud.net/atomic-iso/regular-gnome-atomic-20250401-x86_64.iso


2.  GUI Установщик который запускается внутри live-образа, умеет 
устанавливать любые атомарные образы на базе ALT, в качестве источника 
он вытягивает образ из облака по ссылке.

https://github.com/alt-atomic/atomic-installer


3. Cам образ на базе GNOME, есть так же для KDE но пока не довели его до 
ума.

https://github.com/alt-gnome/alt-atomic


4. APM (Atomic Package Manager) пакетный менеджер который умеет работать 
с атомарным дистрибутивом на базе bootc (в обычной системе тоже работает)

Основная идея заключается в том, что APM берет на себя всю специфичную 
работу с образами и пакетами, предоставляя удобные внешние команды для 
взаимодействия. Он поддерживает работу с пакетами из различных 
источников: репозитории ALT (взаимодействие через 
apt-get/rpm/apt-cache), distrobox, alr, а также умеет извлекать иконки 
из директории swcat.

APM использует собственную базу данных, которую синхронизирует из разных 
источников, благодаря чему поиск и фильтрация пакетов осуществляются 
очень быстро. Все методы доступны как через консоль, так и через D-Bus. 
Вся служебная информация и ошибки скрыты за внутренними абстракциями; в 
выводе отсутствует лишняя информация, предоставляется только json или 
форматированный текст (формат вывода опционален).

Изначально APM спроектирован как сервис для взаимодействия через D-Bus, 
а консольный интерфейс является дополнительным бонусов. В настоящий 
момент один из разработчиков занимается созданием интерфейса к 
приложению на языке Vala.

https://github.com/alt-atomic/apm


Предложение относительно улучшения пакетной базы ALT Sisyphus.

В настоящее время в спеках редко используются декларативные подходы, 
такие как systemd-tmpfiles и systemd-sysusers (я знаю что с ним особые 
проблемы), хотя именно они необходимы для полноценной поддержки 
атомарных образов. Отсутствие этих декларативов вынуждает нас применять 
очень страшные хаки для поддержания синхронизации, что усложняет процесс 
и снижает надёжность.

Я думал над тем как я могу в этом помочь и меня посетила следующая идея:

Что если сделать приложение/сайт которое будут анализировать все спек 
файлы в репозитории, находить там старые/давно не обновляемые пакеты или 
пакеты которые например не применяют подход systemd-tmpfiles помечать их 
и в удобной форме отображать списком? Я думаю что можно придумать 
множество разных фильтров которые потенциально помогут привести базу 
пакетов к единому виду/формату. Как Вы смотрите на эту идею? Может быть 
уже есть аналогичное решение? Это было бы полезно или в этом нет смысла ?



More information about the devel-distro mailing list