про liberal arch

в своем прошлом посте про новости, я упоминал liberal arch
так вот, рассказываю про него:

Liberal Arch

Основная идея

Каждое приложение — независимый "гражданин" системы.

Оно имеет:

  • собственное окружение;
  • собственные настройки;
  • собственные права;
  • собственное хранилище данных;
  • возможность взаимодействовать с другими приложениями только по согласию.

Принципы

Индивидуальная свобода

Приложение может использовать любые библиотеки и версии программ.

Пример:

  • Firefox использует Python 3.14
  • GIMP использует Python 3.11
  • Krita использует Python 3.12

Конфликты невозможны благодаря контейнерам.

Технологии:

  • Bubblewrap
  • Podman
  • systemd-nspawn
  • Flatpak

Правовое государство

Есть "Конституция системы".

Например YAML-файл:

network: default: deny filesystem: home: read-only devices: camera: ask microphone: ask

Даже root-приложение не может нарушить правила без разрешения пользователя.

Частная собственность

Каждое приложение имеет собственный каталог:

/apps/firefox/ ├── data ├── config └── cache

Другое приложение не может читать эти данные.

Свободный рынок

Нет обязательного менеджера пакетов.

Можно использовать:

  • pacman
  • flatpak
  • appimage
  • контейнеры
  • локальные пакеты

Пользователь сам выбирает.

Толерантность и плюрализм

Система не навязывает:

  • рабочее окружение
  • init-систему
  • файловую систему
  • браузер

Можно установить:

  • KDE Plasma
  • XFCE
  • Cinnamon
  • i3
  • Openbox
  • DWM

одновременно.

Равенство возможностей

Все приложения получают одинаковый набор базовых разрешений:

filesystem: denied network: denied camera: denied microphone: denied

Права выдаёт пользователь.

Демократия

Есть система голосования пользователей.

Например:

libvote install steam

Если пакет набрал много голосов:

libvote top

он отображается как рекомендуемый.

Архитектура

liberal-init ├── liberal-policy ├── liberal-containerd ├── liberal-store ├── liberal-vote └── liberal-center

liberal-policy

Контроль разрешений.

liberalctl allow firefox network

liberal-containerd

Создание контейнеров.

liberal-run firefox

Создаёт отдельный namespace.

liberal-store

Магазин приложений.

Поддерживает:

  • pacman
  • AUR
  • Flatpak
  • AppImage

liberal-center

GUI управления.

Показывает:

Firefox ├─ Интернет ✓ ├─ Камера ✗ ├─ Микрофон ✗ └─ Файлы ~/Downloads ✓

По сути получится что-то между:

  • Arch Linux,
  • Flatpak,
  • Qubes OS,
  • Android Permission System.
1
2 комментария