Разработчики Systemd намерены внедрить кардинально новые методы построения дистрибутивов Linux

Леннарт Поттеринг (Lennart Poettering) опубликовал заметку, в которой подробно рассказал об идеях на далёкое будущее по переработки организации построения дистрибутивов Linux. Главной целью предложенных изменений является упрощение формирования пакетов с приложениями или окружениями операционной системы и обеспечение возможности их установки независимо от применяемого дистрибутива.

Отмечается, что в настоящее время новые веяния в построении ПО уже развиваются в таких системах, как Ubuntu Apps, Docker, ChromeOS и CoreOS, но каждая из этих систем узко специализирована и не подходит для универсального применения. Например, Ubuntu Apps рассчитан только на распространение приложений для рабочего стола, Docker жестко завязан на изолированных контейнерах, ChromeOS и CoreOS оперируют только системными образами. При этом ключевой идеей всех этих систем является предоставление готовых окружений, заменяемых целиком и не зависящих от базового программное окружения.

Благодаря использованию подразделов (sub-volume) Btrfs и пространств имён, разработчики Systemd намереваются подготовить унифицированное решение, подходящее для установки и обновления как целых операционных систем и изолированных контейнеров, так и для отдельных приложений и программных интерфейсов, упакованных в самодостаточные пакеты. Также предлагается реализовать возможность полной верификации всех компонентов системы по цифровым подписям, включая конечные приложения и образы преднастроенных изолированных контейнеров.

Осуществление установки с использованием снапшотов, с сохранением прошлого состояния программы или ОС, предоставит пользователю возможность атомарного применения изменений и возврата к прошлой конфигурации. Процесс установки по сути сведётся к репликации готового образа, который будет оставаться неизменен во время работы системы. Пространства имён и подразделы Btrfs помогут организовать сосуществование нескольких идентичных веток в ФС. Например, можно установить несколько подразделов /root и /usr с начинкой разных дистрибутивов, между которыми можно будет переключаться, для разных пользователей и приложений можно подключать разные подразделы с частями ФС. Кроме того, будет обеспечена возможность установки разных версий runtime-компонентов/фреймворков/библиотек для их подключения в привязке к приложению, производитель которого определил данные версии в числе зависимостей.

Runtime-компоненты и библиотеки предлагается оформлять в виде урезанного образа раздела /usr, содержащего только файлы, необходимые для работы заданного приложения. Приложения предлагается размещать в области /opt/ (например, /opt/org.libreoffice.LibreOffice), при этом экземпляр программы будет размещён в подразделе, привязанном к runtime-компонентам и версии (например, app:org.libreoffice.LibreOffice:GNOME3_20:x86_64:133). Размещение обособленного образа программы в отдельном подразделе позволит организовать доступ к данному подразделу из разных дистрибутивов, установленных на текущем ПК. Для обеспечения доступа к пользовательским данным из окружения разных дистрибутивов и приложений, также предлагается размещать содержимое home-директории пользователя в отдельном подразделе Btrfs.

Таким образом, итоговое рабочее окружении формируется как набор подразделов Btrfs, которые выступают в роли блоков для формирования ОС. В качестве решения от излишнего разрастания дискового пространтства в результате размещения разных копий библиотек и компонентов дистрибутивов называется использование средства Btrfs по дедупликации данных, которые обеспечивают физическое хранение только одной копии повторяющихся данных. Для установки и обновления образов, как системы, так и программ, предлагается применять единые методы, основанные на атомарной замене снапшота с активным образом. В случае выявления проблем, останется возможность быстро откатиться на снапшот с прошлым состоянием системы.

Источник:
http://www.opennet.ru/opennews/art.shtml?num=40494

<= Назад
Комментарии
]]> ipv6 ready Kiev LUGLinux4MeНостальгияЛичный сайт skeletora ]]>