Компания Canonical, выпускающая один из самых известных дистрибутивов на базе Linux, решила опробовать новый подход и в следующем году готовит к выходу LTS версию Ubuntu 24.04, ядром которой станет неизменяемая система Linux с дополнительным программным обеспечением, основанным на Snaps.
Собственно, ничего революционного. Неизменяемая версия у Caconical существует с 2015 года, и всем она известна под именем Ubuntu Core.
Со временем, когда мы решим, что такой можно сделать всю систему, мы будем рады предложить версию Ubuntu Desktop, которая обладает новыми возможностями...
— ubuntu .com/blog
Что такое «Неизменяемая система»?
Неизменяемая операционная система (immutable operating system, или IOS) — это такая ОС, в которой некоторые (или все) файловые системы доступны только для чтения и не могут быть изменены, что делает её по своей сути более безопасной.
Многие атаки и эксплойты основаны на записи или изменении файлов. Если нельзя изменить файлы, злоумышленники не смогут повредить ваш компьютер (в теории).
IOS используется в устройствах Интернета вещей (IoT). Например, в случае Canonical, компания с 2014 года предлагает Ubuntu Core, платформу для устройств IoT.
Построенный на той же контейнерной технологии ядра, что и Docker и LXC, Ubuntu Core использует комплексный подход «песочницы» для обеспечения безопасности и независимости каждого компонента системы.
Такой подход не только позволяет приложениям функционировать в своих собственных рамках управления данными, но и обеспечивает гибкость при использовании новых версий приложений в старых версиях Linux.
В частности, неизменяемые операционные системы обладают следующими общими особенностями:
- Доступны только для чтения: основной характеристикой неизменяемой ОС является то, что пользователи или приложения не могут напрямую изменять работающую систему.
- Атомарные обновления: обновления применяются атомарно, что означает, что они успешно применяются все сразу или не применяются вообще.
- Предсказуемы: поскольку основная операционная система не меняется, ее поведение предсказуемо на всех устройствах.
- Изолированные приложения: приложения изолированы от основной операционной системы и друг от друга, обычно посредством контейнеризации. Это гарантирует, что изменения, внесенные приложением, не повлияют на основную систему или другие приложения.
Почему IOS еще не внедрили повсюду?
Если эта идея такая замечательная, почему я не слышал о ней раньше?
На самом деле, неизменяемые системы уже давно используются не только в устройствах IoT. Все хромбуки с ChromeOS используют именно неизменяемые изолированные технологии с момента их появления в 2011 году.
Разница между ChromeOS и другими операционными системами заключается в том, что, хотя ChromeOS и является дистрибутивом Linux, он также имеет строгие ограничения.
Программное обеспечение для настольных компьютеров во многих отношениях сложнее хранить в контейнерах, чем серверное или IoT-программное обеспечение. Важно, чтобы настольные приложения хорошо работали вместе. Такая тесная интеграция также затрудняет определение границ изолированной среды между приложениями и системными компонентами безопасным и простым в использовании способом.
А кто ещё использует IOS?
Canonical не первая, кто внедряет в свои дистрибутивы неизменяемый Linux. Помимо Chrome OS неизменяемые системы используют Fedora Silverblue с OSTree, openSUSE Aeon, VanilaOS...
Однако если вы адепт дистрибутивов Ubuntu, но при этом желаете стабильный, безопасный и неизменяемый Desktop Linux, вам придётся подождать до следующего года.
В чём преимущества Ubuntu Core?
В отличие от других IOS-дистрибутивов, Ubuntu Core использует более детализированный подход к операционной системе.
Он «делит» ОС на отдельные компоненты, каждый из которых инкапсулирован в snap.
————————————
Инкапсуляция (encapsulation) — это механизм, который объединяет данные и код, манипулирующий этими данными, а также защищает и то, и другое от внешнего вмешательства или неправильного использования.
————————————
Четыре основных snaps — устройства, ядро, база и Snapd — составляют основу ядра Ubuntu. На этот образ можно наложить дополнительные привязки ОС, чтобы включить другие элементы операционной системы, такие как окружение рабочего стола.
Такой композиционный подход разрешает собирать оптимизированные образы ядра Ubuntu, используя только компоненты, необходимые для запуска приложений одного назначения. Это уменьшает как объем операционной системы, так и потенциальную поверхность атаки. Более того, в этом случае можно обновлять каждую оснастку в своем собственном темпе. Это значительно сводит к минимуму необходимость перезагрузки устройства.
Будущее Ubuntu Desktop
За кулисами Canonical рассматривает потенциальные преимущества Ubuntu Core для разработчиков и конечных linux-пользователей. Свойства, присущие Ubuntu Core, такие, как безопасная загрузка, состояния восстановления и аппаратное шифрование, значительно повысят уровень безопасности ПК.
Более того, модульность Ubuntu Core позволяет экспериментировать с альтернативными привязками окружения рабочего стола, придерживаясь при этом высокостабильной, подписанной и безопасной базы LTS. Использование snap channels также позволяет внедрять определенные элементы дистрибутива, улучшая пользовательский опыт.
————————————
Snap-пакет — это пакет, который помимо готовой сборки самого приложения, включает в себя все необходимые зависимости и может работать (почти) в любом дистрибутиве Linux.
————————————
Каждая привязка приложения или компонента имеет четыре стандартных канала: стабильный, для тестов, бета-версия и канал разработки. Эти каналы позволяют пользователям выбирать, насколько передовым они хотят видеть свое программное обеспечение. Стабильный канал является наиболее проверенным и надежным, в то время как канал для разработчиков (edge) включает в себя последние изменения.
Например, геймеры могут подписаться на канал, который отправляет новейшие драйверы NVIDIA, как только они станут доступны, точно так же, как команда Ubuntu Desktop сделала для Mesa в рамках работы над Steam snap...
— ubuntu .com/blog
Для тех, кто хочет получить стабильную и безопасную linux-систему, традиционный Ubuntu Desktop по-прежнему будет доступен.
Конечно, неизменяемые операционные системы имеют свои проблемы и недостатки. Они не такие гибкие, как обычные операционные системы, и не все приложения и службы хорошо работают в контейнерных средах.
Тем не менее новый Ubuntu Desktop, скорее всего, станет довольно популярным дистрибутивом Linux. И, кто знает, возможно, в 2024 году Ubuntu сможет удивить цифровое сообщество, потеснив Windows 11/12...
————————————
Понравилась статья? Поставьте лайк 👍
и поделитесь ссылкой с друзьями 📢