История и архитектура
История
KDE Linux задумала группа ключевых участников KDE в офисе Tuxedo Computers на спринте Plasma в начале 2023 года в Аугсбурге (Германия). Один из них, опытный разработчик KDE Harald Sitter, собрал прототип и занялся его доработкой, а публично представил на Akademy 2024 (слайды, запись).
На Akademy 2025 последовал альфа-выпуск (слайды, запись).
Зачем нужен проект
- Стать «операционной системой KDE», чтобы у KDE появились прямые отношения с производителями оборудования и пользователями
- Показать программы KDE с наилучшей стороны
- Дать качество работы с системой не хуже, чем у проприетарных аналогов, а где-то и выше
- Не заставлять пользователя вручную устанавливать драйверы устройств, дополнительные возможности KDE и прочее
- Быть надёжной и легко восстанавливаться
- Улучшать программы KDE, которые разворачиваются через контейнерные приложения и образные ОС вообще
- Любая редакция годится нашим разработчикам как основная система — чтобы мы сами пользовались тем, что делаем
Чем мы сознательно решили пока не заниматься
- Проприетарный модуль ядра NVIDIA для видеокарт старее NVIDIA GTX 16xx (более новые работают с открытыми модулями ядра, а они уже включены).
- VirtualBox — нужны модули ядра вне основного дерева, а другие средства виртуализации работают нормально.
- VPN отдельных поставщиков — нужны особые модули ядра вне основного дерева
Архитектура
Устройство
KDE Linux учитывает опыт более раннего проекта KDE neon и ставит во главу угла устойчивость, восстановимость, удобство и нетребовательность к обслуживанию. Устройство системы во многом навеяно мыслями создателя systemd Lennart Poettering об устройстве операционных систем и системных расширениях.
Поэтому KDE Linux — «образная» ОС: базовая система поставляется целиком, а не тысячами пакетов, из которых итоговый продукт собирается уже на компьютере пользователя.
Такую модель иногда называют «неизменяемой»: базовую ОС нельзя менять так же, как традиционную, собранную из пакетов. Но это название способно ввести в заблуждение — в KDE Linux только /usr поставляется образом с доступом лишь для чтения, а всё остальное меняется, как в любой другой ОС на базе Linux. Да и /usr можно менять системными расширениями systemd.
Устройство в общих чертах
Загрузчик — systemd-boot.
Загрузочный образ — совместимый с ISO образ диска .raw, собранный через mkosi. Основа системы — пакеты Arch Linux, а большая часть составляющих KDE собрана через kde-builder. Часть приложений KDE и сторонних приложений предустановлена в виде пакетов Flatpak.
/ — том Btrfs с чтением и записью. Поверх него смонтирован /usr — образ (он же файловая система) EROFS. Обновление системы сводится к загрузке нового такого образа и парного ему единого образа ядра (UKI). На диске всегда хранятся 3–4 образа ОС с их UKI, поэтому после неудачного обновления можно откатиться.
Небольшая вспомогательная программа обновляет в /etc всё, что не изменено вручную, — берёт содержимое /usr/share/factory/etc из активного образа ОС. Снимки /etc в Btrfs создаются автоматически.
/home — подтом Btrfs.
Приложения для пользователя, которые показывает Discover, берутся из Flathub.
Диспетчера пакетов в составе нет, но программы, которых нет в виде приложения Flatpak, можно установить несколькими способами. Эта область развивается, и со временем всё, вероятно, поменяется.
Статья предоставлена Nate Graham и распространяется под лицензией CC-BY-4.0.