OSTree — реализация применения Git-подобного репозитория для установки и обновления ОС

27 августа 2013 года

Представлен релиз проекта OSTree 2013.6, в рамках которого развивается альтернативная пакетным менеджерам система, обеспечивающая поддержку параллельной установки и атомарного обновления операционных систем. Идея OSTree заключается в формировании системного образа из Git-подобного хранилища, позволяющего применять методы версионного контроля к компонентам дистрибутива.

Подобный подход позволяет легко переходить к произвольному состоянию системы в прошлом, что очень удобно при организации тестирования различных систем. Например, разработчик может выпускать тестовые сборки с достаточно высокой периодичностью, полностью контролируя процесс влияния изменений на работоспособность системы. В случае выявления тестировщиками проблем, для повторения проблемы имеется возможность возврата к состоянию сборки для которой поступило сообщение об ошибке с последующим пошаговым откатом для выявления изменения, начиная с которого начала проявляться ошибка. В частности, на основе OSTree формируются тестовые сборки GnomeOSTree, развиваемые с использованием процесса непрерывной интеграции.

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

Таким образом OSTree предоставляет средства для атомарной параллельной установки различных версий нескольких независимых Unix-подобных систем. Репозиторий OSTree размещается в директории /ostree/repo базовой системы, установка вариантов систем производится в /ostree/deploy/OSNAME/CHECKSUM (системы запускаются с использованием chroot) с использование жестких ссылок на файлы в репозитории, что позволяет физически хранить только одну копию данных. При обновлении вначале по HTTP вносятся дополнения в репозиторий, после чего формируется обновлённое дерево системы, переключение на которое производится атомарно.

OSTree манипулирует только базовым составом системы, который не может быть изменён в процессе работы. В свою очередь, система, может использовать дополнительные механизмы для установки дополнительных приложений в директории, не попадающие в область обновления, такие как /var для общих приложений и /home для установки программ индивидуальными пользователями, подобные директории, наряду с /etc используются совместно всеми окружениями каждой из установленных ОС. Также не исключается вариант использования OSTree совместно с пакетными менеджерами, при котором содержимое /usr формируется динамически из набора обособленных деревьев OSTree (вместо прямой установки пакета в ФС, содержимое пакета преобразуется в дерево OSTree и устанавливается/обновляется с использованием локального репозитория OSTree). Подобный подход уже развивается в рамках проекта fedora-ostree (Архивная копия от 27 августа 2013 на Wayback Machine).

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «OSTree — реализация применения Git-подобного репозитория для установки и обновления ОС», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.