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).
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.