Справочная: чего ждать от Fedora Silverblue

    Разбираем особенности неизменяемой ОС.


    / фото Clem Onojeghuo Unsplash

    Как появилась Silverblue


    Fedora Silverblue — это неизменяемая десктопная операционная система. В ней все приложения запускаются в изолированных контейнерах, а обновления устанавливаются атомарно.

    Ранее проект назывался Fedora Atomic Workstation. Позже его переименовали в Silverblue. По словам разработчиков, они рассматривали более 150 вариантов названий. Silverblue выбрали просто потому, что имелся такой свободный домен и аккаунты в социальных сетях.

    Обновленная система сменила Fedora Workstation на посту приоритетной сборки для десктопов в Fedora 30. Авторы говорят, что в перспективе Silverblue может полностью вытеснить Fedora Workstation.

    Один из резидентов Hacker News предположил, что концепция Silverblue стала развитием проекта Stateless Linux. Его в Fedora продвигали около десяти лет назад. Stateless Linux должна была упростить администрирование тонких и толстых клиентов. В ней тоже все конфигурационные файлы системы открывались в режиме «только для чтения».

    Что дает «неизменяемость»


    Термин «неизменяемая операционная система» обозначает, что корневая и пользовательская директории монтируются в режиме «только для чтения». Все изменяемые данные размещаются в каталоге /var. Аналогичный метод используют разработчики ChromeOS и macOS Catalina. Такой подход повышает защищенность ОС и не дает удалить системные файлы (например, по ошибке).

    Один из резидентов Hacker News в тематическом треде рассказал, что как-то раз случайно удалил ряд системных файлов, модифицируя тему Ubuntu Yaru. При этом у него не сохранилось бэкапов из-за ошибки в regex. По его словам, неизменяемая ОС помогла бы избежать проблем.

    Упрощается и установка обновлений — для этого достаточно перезагрузить систему с нового образа. Дополнительно появляется возможность быстро переключаться между несколькими ветками (релизами Fedora). Например, между разрабатываемой в данный момент версией Fedora Rawhide и репозиторием updates-testing с готовящимися обновлениями.

    В чем отличия от классической Fedora


    Для установки базового окружения (/ и /usr) используется технология OSTree. Можно сказать, что это система «версионирования» RPM-пакетов. RPM-пакеты транслируются в репозиторий OSTree при помощи rpm-ostree. Устанавливая пакет, она формирует точку восстановления, на которую можно откатиться в случае сбоя.

    OSTree также позволяет устанавливать приложения из репозиториев dnf/yum и репозиториев, не поддерживаемых Fedora. Для этого вместо команды dnf install нужно использовать rpm-ostree install. Система сформирует новый базовый образ операционной системы и заменит им установленный.

    В качестве механизма для обновления приложений используется Flatpack. Он запускает их в контейнерах. Flatpack-пакет включает в себя лишь специфические для конкретного приложения зависимости. Все базовые библиотеки (вроде библиотек GNOME и KDE) остаются подключаемыми runtime-окружениями. Такой подход позволяет сократить размер пакетов — исключить из них повторяющиеся компоненты.


    / фото Jonathan Larson Unsplash

    Для установки приложений, которые не упакованы во Flatpack, можно использовать Toolbox. Он позволяет создать контейнер с классическим установщиком Fedora.

    Аналогичные решения


    Есть и другие дистрибутивы, задачи которых аналогичны Silverblue. Примером может быть MicroOS от openSUSE. Это не самостоятельный дистрибутив, а часть платформы openSUSE Kubic для развёртывания CaaS (Container as a Service).

    Система работает с контейнерами Docker. Их образы распространяются в виде RPM-пакетов. Это упрощает установку приложений на основе командной строки, которые недоступны в формате Flatpack. Хост-система для запуска контейнеров формируется на основе официального репозитория openSUSE Tumbleweed.

    MicroOS разрабатывалась для развертки в масштабных средах (например, в дата-центрах), но при этом способна работать и на одиночных машинах.

    Примером другой похожей разработки может служить NixOS. Это дистрибутив Linux, в основе которого лежит менеджер пакетов Nix. Его главная особенность — декларативное описание конфигураций. Администратору не нужно устанавливать систему и настраивать ее вручную. Состояние прописывают в специальном файле: там указывают все пакеты и настройки аутентификации. Далее, пакетный менеджер автоматически приводит ОС к указанному состоянию.

    Эту систему активно используют облачные поставщики, университеты и ИТ-компании.

    В любом случае у Silverblue есть шанс занять свою нишу на рынке. Получится ли — предстоит увидеть в будущем.



    Материалы из Первого блога о корпоративном IaaS:


    Дополнительное чтение на Хабре:

    • +23
    • 6,6k
    • 3
    ИТ-ГРАД
    157,71
    vmware iaas provider
    Поделиться публикацией

    Комментарии 3

      +5
      Один из резидентов Hacker News в тематическом треде рассказал, что как-то раз случайно удалил ряд системных файлов, модифицируя тему Ubuntu Yaru

      Вот уж хакер, так хакер
        +5
        Ну, как известно, если ты пытаешься решить возникшую проблему регуляркой, то в итоге у тебя две проблемы.
        –2
        Живёшь как будто в окружении ситхов, каждое решение стремится возвести себя в абсолют… :(

        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

        Самое читаемое