Представлен первый альфа-выпуск дистрибутива SerpentOS, использующего собственный пакетный менеджер moss и атомарную модель обновления системы. Разработчики преподносят Serpent OS как следующий этап в эволюции дистрибутивов Linux. Проект разрабатывается старой командой разработчиков дистрибутива Solus, в число которых входят Айки Доэрти (Ikey Doherty) — создатель Solus и Джошуа Стробл (Joshua Strobl) — ключевой разработчик среды рабочего стола Budgie. Сборки формируются для архитектуры x86_64-v2 и поставляются с рабочими столами GNOME и COSMIC.
Пакетный менеджер moss использует собственный формат пакетов Stone и предоставляет инструменты для управления состоянием системы. Обновление производится в атомарном режиме с заменой содержимого раздела /usr. Дистрибутив гарантирует целостность системы — в случае сбоя во время установки обновления, система откатывается на прошлое рабочее состояние. За исключением ядра и некоторых системных компонентов изменения применяются на лету, без необходимости перезагрузки. Для экономии дискового пространства при хранении нескольких версий пакетов применяется дедупликация на основе жёстких ссылок.
Проектом также развиваются инсталлятор Lichen, система сборки boulder, панель управления summit, менеджер загрузки blsforme и система контейнеров moss-container. Пакетный менеджер и низкоуровневые утилиты написаны на языке Rust. Большая часть пакетов, включая ядро Linux, собрана при помощи компилятора Clang. В качестве стандартной библиотеки для приложений на С++ используется libc++ от проекта LLVM.
Особенности альфа-версии Serpent OS:
- Добавлены дополнительные патчи для устройств ASUS и Microsoft Surfac. В репозитории добавлен драйвер для GPU NVIDIA (пересобраны модули open-gpu-kernel-modules).
- Добавлен пакет для установки клиента сервиса доставки игр Steam и предложены драйверы mesa-32bit и nvidia-graphics-driver-32bit для запуска 32-разрядных приложений в 64-разрядном окружении.
- По возможности задействованы системные компоненты на языке Rust: утилиты GNU coreutils заменены на uutils, программа sudo заменена на sudo-rs, вместо процесса для синхронизации точного времени задействован ntpd-rs, утилита curl собрана с библиотекой rustls и HTTP-бэкендом hyper (поддержка hyper на днях была прекращена проектом Curl из-за отсутствия интереса со стороны разработчиков).
- В сборке с рабочим столом GNOME по умолчанию задействовано приглашение командной строки starship. В состав включены: редактор кода zed, профилировщик loupe и интерфейс для отслеживания состояния системы resources.
- В инструментарии moss для обхода ограничения ФС ext4 в 65 тысяч жёстких ссылок на каждую inode обеспечено создание новых inode для пустых файлов. Для предотвращения исчерпания свободного места на загрузочном разделе (ENOSPC) реализована автоматическая чистка старых файлов с ядрами и initrd.
- В загрузочном менеджере blsforme обеспечена работа в автоматическом режиме, позволяющем обслуживать EFI System Partition и загрузочные записи без ручного вмешательства. Упрощена настройка параметров командной строки ядра. Добавлена возможность формирования нескольких образов initrd.
- В инсталляторе lichen переработан интерфейс пользователя. Добавлена возможность выбора файловой системы для корневого раздела — xfs, ext4 или f2fs.
- Обновлены версии пакетов, среди которых ядро Linux 6.12.6, Firefox 133.0.3, LLVM 18.1.8, GNOME 47.2, COSMIC 1.0.0_alpha4.
Источник: opennet.ru