У довгій технічній статті, Ікі Доерті (відомий керівництвом такими проектами, як Solus, та внеском у Clear Linux) окреслює філософію та архітектуру AerynOS, цей новий проект, метою якого є переосмислення того, як повинна поводитися операційна система в епоху інфраструктури як коду.
І це далеко не просто черговий дистрибутив в екосистемі Linux, AerynOS позиціонує себе як глибоке переосмислення сучасної операційної системи.
Від дистрибуції до інфраструктури
AerynOS народжується з питання провокаційний: «Що, якби операційна система поводилася як сучасна інфраструктура?». Відповіддю є платформа, побудована з нуля, без перетягування застарілих конвенцій традиційних дистрибутивів та замість мутації існуючих систем, AerynOS починає з чистого фундаменту, використовуючи попередній досвід та приймаючи радикальні архітектурні рішення для забезпечення узгодженості, зворотності та структурної простоти.
Айкі Догерті згадує у своїй статті, що Одним з найвражаючих рішень є впровадження інструментарію LLVM. замість традиційного GNU, використовуючи libc++ та compiler-rt за замовчуванням. Цей вибір зумовлений не лише стилістичними уподобаннями, а й стратегією. для покращеної діагностики та більшої портативності. Незважаючи на це оновлення, AerynOS продовжує використовувати glibc як стандартну бібліотеку, обираючи її замість musl за чудову продуктивність під час багатопотокових навантажень та вимогливих програм.
Крім того, згадується, що один Одна з основних концепцій AerynOS — це «бездержавність».: Жоден пакет не може встановлювати файли поза /usr. Це суворе розмежування відокремлює простір користувача (/etc, /var) від системного простору, усуваючи конфлікти злиття та сприяючи чистому оновленню. Ця ідея, що бере свій початок ще з часів Clear Linux, прагне забезпечити розумні значення за замовчуванням та уникнути непотрібної складності, яку часто створюють більш гнучкі системи.
Атомарні та оборотні оновлення
AerynOS використовує абсолютно нову систему керування пакетами під назвою Moss, що виконує атомарні транзакції. Кожне оновлення створює нове дерево /usr, використовуючи жорсткі посилання з дедуплікованого сховища, та атомарно замінюється на поточне дерево за допомогою renameat2(). Цей механізм гарантує, що оновлення або повністю завершені, або взагалі не застосовуються, уникаючи проміжних станів.
Управління завантаженнями також порушує традиції. Завдяки таким інструментам, як blsforme та disks-rs, AerynOS динамічно генерує командний рядок ядра, безпосередньо зчитуючи суперблоки файлової системи, що усуває необхідність використання root=. Крім того, кожне ядро прив'язане до своєї конкретної транзакції, що спрощує відкат системи з меню завантаження та дозволяє перебудувати середовище завантаження з нуля у разі втрати ESP.
Формат .stone: новий спосіб пакування програмного забезпечення
Іншим ключовим компонентом є формат .stone, сучасний бінарний пакет Розроблено з урахуванням незалежності від версій та високої ефективності. Кожен файл .stone містить:
- Дедуплікований вміст файлів пакетів
- Хеш-індекс (XXH128, з планами переходу на Blake3)
- Карта цільової файлової системи
- Введені метадані, такі як ім'я, версія, можливості тощо.
Замість безпосереднього встановлення файлів, .stone зберігаються в адресованому сховищі контенту (Content Addressable Store). (CAS) та компілюються як частина транзакції. Такий підхід не тільки покращує продуктивність, але й дозволяє легко скасувати будь-які зміни.
Система управління пакетами не відповідає традиційній імперативній моделі. Розробники вважають, що команди прямого встановлення «вносять більше помилок, ніж вирішують». Натомість кожна транзакція створює новий системний граф, прокладаючи шлях для майбутньої декларативної моделі, подібної до Nix або Gentoo, де описується бажаний стан системи, а не виконуються команди зміни.
Чи є AerynOS незмінним?
Хоча її часто описують як незмінну систему, самі творці уточнюють, що це не зовсім так. Система не блокує доступ лише для читанняі хоча транзакції замінюють дерево /usr, Повна незмінність ще не реалізована. Довгострокова мета — досягти цього без перезавантаження, використовуючи такі технології, як overlayfs та erofs.
Незважаючи на те, що AerynOS перебуває на стадії альфа-тестування, він вже має доступні ISO-образи, підтримку GNOME, сумісність зі Steam, NVIDIA, Flatpak, а також реальних користувачів, які високо оцінюють його стабільність та продуктивність. Система вже працює достатньо добре, щоб її можна було протестувати в реальних умовах, хоча вона все ще розвивається.
Фуенте: https://aerynos.com