Разработчики Systemd намерены внедрить кардинально новые методы построения дистрибутивов Linux
Отмечается, что в настоящее время новые веяния в построении дистрибутивов уже развиваются в таких системах, как Ubuntu Apps, Docker, ChromeOS и CoreOS, но каждая из этих систем узко специализирована и не подходит для универсального применения. Например, Ubuntu Apps рассчитан только на распространение приложений для рабочего стола, Docker жестко завязан на изолированных контейнерах, ChromeOS и CoreOS оперируют только системными образами. При этом ключевой идеей всех этих систем является предоставление готовых окружений, заменяемых целиком и не зависящих от базового программного окружения.
Благодаря использованию подразделов (sub-volume) Btrfs и предоставляемых ядром Linux изолированных пространств имён, разработчики 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
|
0 | Tweet | Нравится |
|