- PVSM.RU - https://www.pvsm.ru -

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

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

Справочная: чего ждать от Fedora Silverblue - 1 [1]
/ фото Clem Onojeghuo [2] Unsplash

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

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

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

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

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

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

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

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

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

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

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

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

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

Справочная: чего ждать от Fedora Silverblue - 2
/ фото Jonathan Larson [16] Unsplash

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

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

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

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

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

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

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

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


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

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

Автор: ИТ-ГРАДовец

Источник [28]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/os/324226

Ссылки в тексте:

[1] Image: https://habr.com/ru/company/it-grad/blog/460393/

[2] Clem Onojeghuo: https://unsplash.com/photos/vU2MmvDCmUo

[3] Fedora Atomic Workstation: https://fedoraproject.org/wiki/Workstation/AtomicWorkstation

[4] сменила: https://silverblue.fedoraproject.org/

[5] может полностью вытеснить: https://fedoramagazine.org/what-is-silverblue/

[6] предположил: https://news.ycombinator.com/item?id=20432251

[7] Stateless Linux: https://fedoraproject.org/wiki/StatelessLinux

[8] ChromeOS: https://lwn.net/Articles/763857/

[9] macOS Catalina: https://eggfreckles.net/notes/immutable-design

[10] рассказал: https://news.ycombinator.com/item?id=20432916

[11] Rawhide: https://fedoraproject.org/wiki/Releases/Rawhide

[12] updates-testing: https://fedoraproject.org/wiki/QA:Updates_Testing

[13] RPM: https://ru.wikipedia.org/wiki/RPM

[14] формирует: https://www.reddit.com/r/Fedora/comments/9tu921/fedora_silverblue_what_is_it_for_and_how_are/e8zws95/

[15] Flatpack: https://ru.wikipedia.org/wiki/Flatpak

[16] Jonathan Larson: https://unsplash.com/photos/O3fv552Uqw4

[17] Toolbox: https://github.com/debarshiray/fedora-toolbox

[18] MicroOS: https://en.opensuse.org/Kubic:MicroOS

[19] упрощает: https://news.ycombinator.com/item?id=20439648

[20] openSUSE Tumbleweed: https://en.opensuse.org/Portal:Tumbleweed

[21] NixOS: https://nixos.org/

[22] используют: https://nixos.org/nixos/community.html

[23] Что такое сервисно-определяемый файрвол и как он работает: https://iaas-blog.it-grad.ru/funkcionalnost/chto-takoe-servisno-opredelyaemyj-fajrvol-i-kak-on-rabotaet/

[24] Что может помешать развитию квантовых компьютеров: https://iaas-blog.it-grad.ru/tendencii/chto-mozhet-pomeshat-razvitiyu-kvantovyx-kompyuterov/

[25] Какие новые вычислительные системы могут появиться в ЦОД: https://iaas-blog.it-grad.ru/tendencii/kakie-novye-vychislitelnye-sistemy-mogut-poyavitsya-v-cod/

[26] Какие инциденты с Border Gateway Protocol можно выделить за последние несколько лет: https://habr.com/ru/company/it-grad/blog/459400/

[27] ICANN убрала ценовой порог для домена .org — почему ИТ-сообщество против, и что будет дальше: https://habr.com/ru/company/it-grad/blog/458684/

[28] Источник: https://habr.com/ru/post/460393/?utm_source=habrahabr&utm_medium=rss&utm_campaign=460393