Інструментарій SerpentOS доступний для тестування

Після двох років роботи над проектом розробники дистрибутива SerpentOS заявили про можливість тестування основного інструментарію, що включає:

  • пакетний менеджер moss;
  • систему контейнерів moss-container;
  • систему керування залежностями moss-deps;
  • систему складання boulder;
  • систему приховування сервісів avalanche;
  • менеджер репозиторіїв vessel;
  • панель керування summit;
  • базу даних moss-db;
  • систему відтворюваного бутстропінгу (bootstrap) bill.

Доступні публічні API та рецепти пакетів. Для розробки інструментарію переважно використовується мова програмування D, а код поширюється під ліцензією Zlib. Пакети пишуться мовою конфігурації YAML і збираються у власний бінарний формат .stone, який включає:

  • Метадані пакета та його залежності;
  • Інформацію про розташування пакета у системі щодо інших пакетів;
  • Індекс кешованих даних;
  • Вміст файлів пакета, необхідні роботи.

Пакетний менеджер moss запозичує багато сучасних можливостей, що розвиваються в таких пакетних менеджерах, як eopkg/pisi, rpm, swupd і nix/guix, зберігаючи при цьому традиційний погляд на маніпуляцію пакетами. Усі стандартні пакети збираються в режимі stateless і не включають файли, не пов'язані з операційною системою, щоб уникнути ситуацій, в яких потрібна вирішення конфліктів між пакетами або операції злиття.

Пакетний менеджер використовує атомарну модель оновлення системи, коли фіксується стан rootfs, а після оновлення стан перемикається на новий. Як наслідок, якщо в ході оновлення виникли якісь проблеми, є можливість відкату змін на минулий робочий стан.

Для економії дискового простору при зберіганні декількох версій пакетів застосовується дедуплікація на основі жорстких посилань та кешу, що спільно використовується. Вміст встановлених пакетів розміщується в каталозі /os/store/installation/N, де номер N версії. До вмісту даного каталогу за допомогою посилань прив'язуються базові каталоги (наприклад, /sbin вказує на /os/store/installation/0/usr/bin, а /usr на /os/installation/0/usr).

Процес встановлення пакетів складається з наступних етапів:

  • Написання рецепту зі встановлення (stone.yml);
  • Складання пакету за допомогою boulder;
  • Отримання бінарного пакета у форматі .stone з необхідними метаданими;
  • Занесення до бази даних пакетів;
  • Установка пакетним менеджером МОС.

Навколо проекту згуртувалася стара команда розробників дистрибутива Solus. Наприклад, у розробці дистрибутива SerpentOS беруть участь Айкі Доерті (Ikey Doherty), творець дистрибутива Solus, і Джошуа Стробл (Joshua Strobl), ключовий розробник робочого столу Budgie, який раніше оголосив про звільнення з ради ради (Core Team) проекту Solus і зняв повноваження лідера, що відповідає за взаємодію з розробниками та розвиток інтерфейсу користувача (Experience Lead).

Розробники SerpentOS закликають фахівців, які знають мову програмування D, приєднатися до розробки основного інструментарію та/або написання рецептів пакетів, а нетехнічних фахівців просять допомогти перекладати документацію різними мовами.

Джерело: opennet.ru

Додати коментар або відгук