[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