Нотатки щодо випуску 0.9.3 Beta
Дата випуску: 21 травня 2026 р.
Попередній випуск: 0.9 Beta (31 грудня 2024 р.)
Наступний випуск: 0.9.4 Beta (12 вересня 2026 р.)
Це найбільший випуск в історії Ditana. Змін зазнала майже кожна підсистема, а архітектуру докорінно реорганізовано довкола принципу «конфігурація як дані». На цій сторінці описано основне; повний перелік змін — в історії Git ditana-installer і ditana-config.
Велика зміна: конфігурація як дані
Розділ «Велика зміна: конфігурація як дані»Найбільший окремий зсув після 0.9.0 — архітектурний. У 0.9.0 доопрацювання Ditana містилися в монолітних пакунках Arch — усе, що інсталятор мав налаштувати, доводилося вбудовувати в PKGBUILD. Через це налаштування стільничного середовища, вибір браузера, вибір термінала та десятки інших точок дотику було важко поєднувати між собою.
У 0.9.3 усе це міститься в новому сховищі з окремою нумерацією версій — ditana-config — у вигляді структурованих даних у форматі KDL v2. Кожне налаштування, кожна залежність, кожен сценарій життєвого циклу — декларативні. Код інсталятора невеликий; мозок — це база знань.
Два наслідки, які варто відзначити:
- Поліпшення надходять без перевипуску ISO-образу. Інсталятор під час роботи завантажує найновіший архів конфігурації (а версія, вбудована в ISO-образ, слугує резервною). Виправлення помилки, злите в
ditana-configу понеділок, у вівторок уже потрапляє в нові встановлення. - Робити внесок значно простіше. Більшість внесків стосується одного файлу KDL.
README.mdуditana-configдокладно описує модель даних.
Чотири стільничні середовища на рівних
Розділ «Чотири стільничні середовища на рівних»0.9.0 постачався лише з XFCE. 0.9.3 постачається з чотирма стільничними середовищами — XFCE (X11), Wayfire, Niri та COSMIC (усі на Wayland), — які можна встановлювати окремо або паралельно. Екран входу показує ті, які ви встановили.
Wayfire і Niri іноді відкидають як неповноцінні середовища. Ditana усуває цю прогалину безпосередньо: ретельно доведена конфігурація waybar з піктограмами в тон темі, nwg-launcher і nwgbar для запуску застосунків і дій живлення, розумні типові налаштування для всіх чотирьох — тож усі чотири є повноцінними варіантами, а не технологічними демонстраціями.
lightdm замінено на greetd з tuigreet, що без проблем інтегрується з uwsm для керування життєвим циклом сеансів на Wayland.
Встановлення з урахуванням обладнання
Розділ «Встановлення з урахуванням обладнання»Два проходи виявлення нові або суттєво розширені:
-
Виявлення NVIDIA тепер під час встановлення звіряється і зі списком PCI ID open-gpu-kernel-modules, і зі сторінкою застарілих GPU від NVIDIA, а потім рекомендує один із чотирьох варіантів:
nvidia-open-dkms(новий типовий для Turing+),nvidia-580xx-dkms(Maxwell/Pascal/Volta),nvidia-470xx-dkms(Kepler) абоnouveau. Варіанти ядра, несумісні з DKMS, відхиляються з поясненням. -
Виявлення віртуальної машини визначає низку подальших рішень (резервний програмний рендеринг, вимкнений
fstrim.timer).
Виявлення вразливостей процесора та захист від них — уже в 0.9.0 візитівка Ditana — залишилися без змін. Повне обґрунтування для кожної вразливості див. на сторінці Захист від вразливостей процесора.
Розкладка клавіатури консолі, згенерована точно
Розділ «Розкладка клавіатури консолі, згенерована точно»Невелике, але помітне поліпшення: vconsole.conf тепер генерує ckbcomp з вибраної користувачем розкладки X11. Попередній підхід був наближеним; цей — точний, що важливо під час встановлення (паролі вводяться у віртуальній консолі Linux) і для роботи у віртуальній консолі після встановлення. Це усуває скаргу з коментаря до 0.9.0 на DistroWatch.
Посилення захисту системи — нове діалогове вікно
Розділ «Посилення захисту системи — нове діалогове вікно»Це справді нове в 0.9.3. Інсталятор 0.9.0 охоплював захист від вразливостей процесора, але не мав загального діалогового вікна посилення захисту. 0.9.3 додає до розділу Expert Settings повноцінний підрозділ System Hardening із задокументованими параметрами на основі sysctl:
- Непривілейовані простори назв користувача (user namespaces) типово вимкнено (
unprivileged_userns_clone=0), а компроміс для браузерів і Flatpak чітко описано. - Обмежений ptrace (типово
yama.ptrace_scope=2,=0для профілю розробника). - Приховані вказівники ядра, обмежений dmesg, вимкнений kexec.
- Захищені FIFO та звичайні файли в каталогах із бітом sticky (понад типовий захист жорстких і символьних посилань у Linux).
- Посилений мережевий стек (SYN cookies, без перенаправлень ICMP, без маршрутизації від джерела, з фільтруванням зворотного шляху).
- Обмежений BPF JIT, необов’язкове послаблення
perf_event_paranoidдля розробників. - Необов’язковий hardened_malloc у повному або полегшеному варіанті, а також необов’язковий mimalloc для конфігурацій, орієнтованих на продуктивність.
Кожен параметр подано у вигляді списку з прапорцями з повною документацією — зокрема про те, на які компроміси ви погоджуєтеся, коли позначаєте його чи знімаєте позначку.
Підтримка Flatpak, інтегрована від початку до кінця
Розділ «Підтримка Flatpak, інтегрована від початку до кінця»Пакунки Flatpak тепер можна оголошувати в конфігурації поряд з arch-packages і aur-packages. Встановлення відбувається під час першого завантаження за допомогою окремої служби ditana-flatpak-finalize.service (яка блокує екран входу до завершення, щоб користувача не заскочили встановлення посеред сеансу).
Пакункам Flatpak віддається перевага перед еквівалентами, доступними лише в AUR, якщо такі пакунки існують, — крім випадків, коли пісочниця Flatpak не може працювати з типовим посиленням захисту Ditana. Задокументований приклад — браузер Brave: його пакунок Flatpak потребує unprivileged_userns_clone=1, тому Ditana натомість постачає brave-bin з AUR. Компроміси докладно описано на сторінці найкращих практик AUR чи Flatpak.
Динамічні типові застосунки для MIME
Розділ «Динамічні типові застосунки для MIME»Типові застосунки для типів MIME тепер обчислюються з урахуванням встановлених компонентів, а не жорстко задаються в коді. Встановіть LibreOffice → .docx відкриває LibreOffice. Встановіть натомість ONLYOFFICE → його відкриває ONLYOFFICE. Встановіть Thunar → Thunar відкриває каталоги. Встановіть COSMIC Files → їх відкриває COSMIC Files. Усе це складається з оголошень KDL.
Емулятор термінала як повноцінний вибір
Розділ «Емулятор термінала як повноцінний вибір»Інсталятор тепер пропонує шість емуляторів термінала з ретельно складеною матрицею рішень: kitty (типовий, X11+Wayland), foot (лише Wayland, легкий), Alacritty (GPU, мінімалістичний), WezTerm (повнофункціональний, мультиплексор), Ghostty (сучасний, потребує OpenGL 4.3+) і COSMIC Terminal. Стандарт xdg-terminal-exec використовується послідовно. Якщо разом із терміналами лише для Wayland вибрано також XFCE, автоматично встановлюється kitty як резервний термінал для X11 — жодного ручного жонглювання.
Помічник AUR: pikaur → paru
Розділ «Помічник AUR: pikaur → paru»pikaur замінено на paru. Приводом став pachub (графічний переглядач пакунків Arch, закріплений на панелі кожного стільничного середовища поряд з bazaar для Flatpak), який підтримує лише yay або paru. Вибір paru виявився кращим і для інших потреб Ditana.
Обробка паролів
Розділ «Обробка паролів»Тепер ви можете обійти сувору перевірку пароля pwscore для облікового запису користувача, якщо маєте на це вагому причину. Перевірка залишається обов’язковою, якщо ввімкнено повне шифрування диска, — там слабкий пароль активно знижує безпеку.
Це розв’язує проблему з кількох повідомлень користувачів 0.9.0 про перервані встановлення, бо користувачі не могли пройти типовий мінімум pwscore.
Закриті звернення на GitHub
Розділ «Закриті звернення на GitHub»Десять звернень користувачів щодо 0.9.0 реалізовано в 0.9.3 — виправлення помилок і запити на нові можливості. Перелік доступний у системі відстеження проблем інсталятора.
За лаштунками
Розділ «За лаштунками»-
Ansible → Sparrow6. Логіку керування конфігурацією, яка змінює файли на кшталт
mkinitcpio.conf, перенесено з Ansible на Sparrow6 за значного внеску Alexey Melezhik. Sparrow6 також використовується для тестування самих автоматизованих конфігурацій. Перехід усуває залежність від середовища виконання Python і дає зрозуміліший вивід тестів. -
Подяки. Дякую Alexey Melezhik за роботу над Sparrow6 і подальшу співпрацю. Дякую Thomas Zipproth за постійне тестування й відгуки. Дякую всім, хто створив звернення щодо 0.9.0, — кожне з них було розглянуто, і більшість уже закрито.
Трохи історії
Розділ «Трохи історії»Коли на початку 2025 року Ralf Hersel брав у мене інтерв’ю для gnulinux.ch про Ditana 0.9.0, першим, що він сказав, було те, що він виграв парі: він передбачив, що дистрибутив Linux із вбудованим ШІ вийде до кінця 2024 року, і 0.9.0 (31 грудня 2024 року) встиг якраз до цього терміну.
Ditana справді постачає необов’язковий Ditana Assistant, який використовує локальну модель Ollama (або будь-яку кінцеву точку, сумісну з OpenAI) для генерування команд оболонки. Він корисний, але я перший скажу, що «дистрибутив зі ШІ» — це перебільшення: помічник має обмежений контекст системи, а справді інтегрований зі ШІ дистрибутив — окремий проєкт, який я, можливо, досліджу згодом (найреалістичнішим напрямом є автоматизований аналіз журналів). Поки що це зручний інструмент, закріплений на панелі, якщо ви його ввімкнете.
Оновлення з 0.9.0
Розділ «Оновлення з 0.9.0»Оновлення на місці не передбачено. Архітектура змінилася надто сильно. Підтримуваний шлях — чисте встановлення з попереднім знімком Timeshift / ZFS вашого /home (або іншого розділу з вашими даними).
Це машинний переклад. Читачі вдосконалюють його на Weblate.