The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

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

27.08.2013 16:41

Представлен релиз проекта 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.

  1. Главная ссылка к новости (http://blog.verbum.org/2013/08...)
  2. OpenNews: Проект GNU начал развитие нового пакетного менеджера Guix
  3. OpenNews: Возрождение системы управления пакетами GNU Stow
  4. OpenNews: Представлен Seafile, Dropbox-подобный сервер хранения на основе технологий Git
  5. OpenNews: В рамках проекта git-annex assistant развивается аналог Dropbox на базе Git
Лицензия: CC-BY
Тип: Интересно / К сведению
Ключевые слова: ostree, git, packet
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (52) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, dr Equivalent (ok), 17:36, 27/08/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Интересная задумка. Надо пощупать.
     
  • 1.2, jOKer (ok), 17:36, 27/08/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Ну вообще-то бинарники через гит доставлять - не проблема, но вот будет ли тут профит в смысле управления состоянием оси - вопрос еще тот. Что-то мне подсказывает, что "тигриная шкура лучше всего смотрится на тигре", в гит лучше всего управляет сырцами.
     
     
  • 2.4, brezerk (?), 17:45, 27/08/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    конфигами, гит управляет не хуже, инфа 146%
     
     
  • 3.19, Антон (??), 21:15, 27/08/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    , да, согласен, , , пожалуй, ,
     
  • 2.11, Аноним (-), 19:19, 27/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > гит лучше всего управляет сырцами.

    А это не git, а его адаптированная версия для управления бинарниками.

     
  • 2.20, Аноним (-), 21:24, 27/08/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Ну вообще-то бинарники через гит доставлять - не проблема,

    А если взять достаточно тяжелый микроскоп - можно вбить неплохой гвоздь в стену. Но говорят что более специализированным под задачу молотком это получается лучше.

     
     
  • 3.42, Аноним (-), 16:12, 28/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >> Ну вообще-то бинарники через гит доставлять - не проблема,
    > А если взять достаточно тяжелый микроскоп - можно вбить неплохой гвоздь в
    > стену. Но говорят что более специализированным под задачу молотком это получается
    > лучше.

    Если в основе идеи лежит некорректный принцип, правильный выбор инструмента не поможет.

     
  • 3.49, pavlinux (ok), 22:59, 30/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Молотком микробов не рассмотришь.
     
  • 2.51, Vkni (ok), 10:07, 04/09/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну вообще-то бинарники через гит доставлять - не проблема, но вот будет
    > ли тут профит в смысле управления состоянием оси - вопрос еще
    > тот.

    Да. У ОС могут быть разные компоненты, которые хотелось бы держать независимыми. Скажем, есть конфиг пакета bind и сам пакет bind. Допустим, конфиг мы изменили во вторник, а в среду накатили новую версию пакета bind.

    Теперь, в четверг, мы хотим вернуться к конфигу bind от понедельника. Если git-подобная система реализована наивно, при откате конфига до понедельника произойдёт откат версии пакета. Это нежелательно.

    С другой стороны, делать полностью независимые репозитарии для всех программ и конфигов тоже странно.

     

  • 1.3, Аноним (-), 17:36, 27/08/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    GitOS?
     
     
  • 2.13, Аноним (-), 19:21, 27/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > сброки GnomeOSTree
    > GnomeOS

    же.

     

  • 1.5, Аноним (-), 17:48, 27/08/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А как быть с изменёнными конфигами в /etc?
     
     
  • 2.6, Аноним (-), 17:54, 27/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    git merge
     
     
  • 3.14, Аноним (-), 19:26, 27/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Проблема в том, что о конфигах эта штука не парится вообще. Их нужно держать в отдельной репе, и отдельно ими рулить.
     
  • 2.52, Vkni (ok), 10:09, 04/09/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > А как быть с изменёнными конфигами в /etc?

    Не только конфиги. Ещё желательно иметь возможность независимо откатывать независимые пакеты. Скажем, откатить maxima, но оставить свежую версию WindowMaker.

    Сложная задача.

     

  • 1.7, lucentcode (ok), 18:14, 27/08/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Интересная задумка. Для разработчиков дистрибутивов. И для любителей собирать нестабильное окружение(фаны Gentoo, частично Arch'a). Обычным пользователям традиционных дистрибутивов(их стабильных версий) не особо нужно подобное. А вообще, сабж можно использовать просто для хренения бинарных данных? Я бы xcf-ки хранил так, удобно очень:)
     
     
  • 2.8, kurokaze (ok), 18:30, 27/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >И для любителей собирать нестабильное окружение(фаны Gentoo

    Не надо расписываться за всех, я например 7.5 лет использую только стабильные пакеты в генте, за исключением нескольких мультимедийных.
    В убунте некоторые стабильные пакеты свежее стабильных гентовских бывают

     
     
  • 3.9, Crazy Alex (ok), 18:47, 27/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Вот да. Гента даёт - при желании - возможность иметь исключительно стабильную систему, при этом оставляя возможность кастомизации USE-флагами. То есть да, кто кто хочет - может и настроек компилятора накрутить, и нестабильных версий натащить - но это всё же по желанию.

    Это в арче (по слухам, сам не видел) акцент на bleeding edge - а в генте дефолты сравнительно консервативны.

     
     
  • 4.15, Аноним (-), 19:27, 27/08/2013 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Теперь самый сильный акцент на bleeding edge - в Ubuntu LTS. Тот же арча по сравнению с ними довольно консервативен :)
     
     
  • 5.22, Аноним (-), 21:32, 27/08/2013 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Тот же арча по сравнению с ними довольно консервативен :)

    Русская языка такая сложная :).

    ЗЫЖ а еще в арче если не читать ридми к апдейту - система может факапнуться. Он попросту не failsafe. В убунте себе такого не позволяют - для установки свежака в LTS в уже существующей инсталляции юзер должен явно проявить инициативу. В отличие от арчепЫонеров убунтуи все-таки подозревают как выглядит реальная эксплуатация серверов.

     
     
  • 6.26, Аноним (-), 21:57, 27/08/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > ЗЫЖ а еще в арче если не читать ридми к апдейту - система может факапнуться.

    В убунте система может факапнуться даже при минорном апдейте, не говоря уже о хтоническом песце с накатыванием bleeding edge. ИЧСХ - никаких readme.
    Так что арч, пожалуй, даже лучше готов для сервера - там хотя бы есть шансы соломку подстелить.

     
     
  • 7.33, б.б. (?), 08:37, 28/08/2013 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > В убунте система может факапнуться даже при минорном апдейте, не говоря уже о хтоническом песце с накатыванием bleeding edge.

    Не может.

    > ИЧСХ - никаких readme.

    Ты не поверишь, перед обновлением, что-то меняющем в системе, вылазит окошко с этими изменениями прямо в консоли, где белым по английскому написано, что за изменение и что оно меняет, можно нажать CTRL-C и отказаться от таких обновлений.

    http://packages.debian.org/jessie/apt-listchanges

     
     
  • 8.39, Аноним (-), 16:07, 28/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Диванные теоретики такие диванные Это если мейнтейнер запарится такое писать Н... текст свёрнут, показать
     
     
  • 9.44, бедный буратино (ok), 12:35, 29/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Блин, ну если ничего вообще не помогает, а своих мыслей отродясь не водилось - Н... текст свёрнут, показать
     
  • 6.36, Аноним (-), 13:05, 28/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >> Тот же арча по сравнению с ними довольно консервативен :)
    > Русская языка такая сложная :).
    > ЗЫЖ а еще в арче если не читать ридми к апдейту -
    > система может факапнуться. Он попросту не failsafe. В убунте себе такого
    > не позволяют - для установки свежака в LTS в уже существующей
    > инсталляции юзер должен явно проявить инициативу. В отличие от арчепЫонеров убунтуи
    > все-таки подозревают как выглядит реальная эксплуатация серверов.

    То-то ты переполнен просто "русскими" словами, грамотей.

     
     
  • 7.41, Аноним (-), 16:10, 28/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >>> Тот же арча по сравнению с ними довольно консервативен :)
    >> Русская языка такая сложная :).
    >> ЗЫЖ а еще в арче если не читать ридми к апдейту -
    >> система может факапнуться. Он попросту не failsafe. В убунте себе такого
    >> не позволяют - для установки свежака в LTS в уже существующей
    >> инсталляции юзер должен явно проявить инициативу. В отличие от арчепЫонеров убунтуи
    >> все-таки подозревают как выглядит реальная эксплуатация серверов.
    > То-то ты переполнен просто "русскими" словами, грамотей.

    Их маркетологи Canonical специально таким bullshit'ом накачивают.

     
  • 4.17, Аноним (-), 20:22, 27/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >Вот да. Гента даёт - при желании - возможность иметь исключительно стабильную систему

    Не дает так как нет фиксированных релизов. Стабильная система это дебиан, стабильная до крайнего неудобства.

     
     
  • 5.18, НеНадоЛяля (?), 20:59, 27/08/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    фиксированные релизы перпендикулярны стабильности
     
     
  • 6.24, Аноним (-), 21:36, 27/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > фиксированные релизы перпендикулярны стабильности

    Не совсем так. Стабильный релиз - можно взять и получить более-менее предсказуемую систему, проверенную в таком сочетании версий компонентов толпой народа.

    А если это самодельная сборная солянка - вот вы на себе как раз и узнаете как вон те компоненты с вот этими взаимодействуют и какие там в процессе лезут баги. Шансы наступить на баг при этом ясен фиг повышаются.

     
  • 5.21, Crazy Alex (ok), 21:28, 27/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Учитывая, что у меня как раз гента и дебиан - две основные системы - могу сказать, что ни с той, ни с другой проблем не видел, если не пытался использовать нестабильные пакеты (в дебиане - на тестинге раз нарвался на неработающие на моем железе иксы - правда, железо было древнючим матроксом, в генте - на размаскированном черт знает чем  - опять же из иксов - поимел проблемы с вайном).

    В генте другая модель стабильности - не по-релизная, а по-пакетная. Работает вполне уютно.

     
     
  • 6.25, Аноним (-), 21:49, 27/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > В генте другая модель стабильности - не по-релизная, а по-пакетная.

    При этом есть только одна загвоздочка: при такой схеме никто не проверяет насколько корректно между собой пакеты будут взаимодействовать. Всем по...й.

     
     
  • 7.27, Аноним (-), 21:58, 27/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > При этом есть только одна загвоздочка: при такой схеме никто не проверяет
    > насколько корректно между собой пакеты будут взаимодействовать.

    А такого - никто, нигде и никогда этого не проверяет.

    > Всем по...й.

    Да, именно поэтому.

     
  • 7.47, arisu (ok), 13:54, 30/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > При этом есть только одна загвоздочка: при такой схеме никто не проверяет
    > насколько корректно между собой пакеты будут взаимодействовать.

    прикинь, никто этого не делает. почему? а ты пойди, да посмотри на размер репозитория дебиана, например. глянул? а теперь прикинь возможное количество сочетаний. прикинул? а теперь — время на их проверку. прикинул? а теперь пойми, что никто не проверяет так, как тебе кажется и хочется.

     

  • 1.10, Crazy Alex (ok), 18:52, 27/08/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Мне одно непонятно - ну откатили версию. А данные у нас остались от новой. Если все откатывать - так обычный бекап будет рулить. Если по отдельности - то мороки много.

    С конфигами и кешами в хомяке - те же проблемы. В общем, как по мне - это механика для каких-то экзотических случаев, а в норме - снапшотим/бекапим всё.

     
     
  • 2.12, Аноним (-), 19:21, 27/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > С конфигами и кешами в хомяке - те же проблемы. В общем,
    > как по мне - это механика для каких-то экзотических случаев, а
    > в норме - снапшотим/бекапим всё.

    И три терабайта поpнушки тоже? При каждом минорном обновлении?

     
     
  • 3.16, Аноним (-), 20:04, 27/08/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Не храни порнушку в /
     
     
  • 4.28, Аноним (-), 22:00, 27/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Не храни порнушку в /

    Так речь идет о том, что бэкапить _все_, а не только системные раздел.

     
  • 4.30, piteri (ok), 00:30, 28/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    А где же ещё её хранить?
     
  • 4.35, Аноним (-), 09:05, 28/08/2013 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Скоро в / будут такие извращения, что любой "порнушке" не снилось. Вон в арчеге уже /bin и /sbin выпилили. Раньше изврат был максимум в /usr/local, сейчас добрался до /usr, ну дальше, стараниями всяких гнумов, шапок и поттеров, будет начинаться прямо с /.
     
     
  • 5.40, Аноним (-), 16:09, 28/08/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Скоро в / будут такие извращения, что любой "порнушке" не снилось. Вон
    > в арчеге уже /bin и /sbin выпилили. Раньше изврат был максимум
    > в /usr/local, сейчас добрался до /usr, ну дальше, стараниями всяких гнумов,
    > шапок и поттеров, будет начинаться прямо с /.

    Страдания вчерашних виндyзятников, которые никогда не видели иерархию на олдовых юниксах (к которой сейчас стремится линуксовая наколенка) неизменно создают хорошее настроение :)

     
     
  • 6.48, arisu (ok), 13:58, 30/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Страдания вчерашних виндyзятников, которые никогда не видели иерархию на олдовых юниксах
    > (к которой сейчас стремится линуксовая наколенка) неизменно создают хорошее настроение
    > :)

    шиза некоторых «олдфагов» тоже. с одной стороны — «всё устарело, надо переделать…», с другой «…чтобы было как раньше». ангсоц торжествующий.

     
  • 3.23, Crazy Alex (ok), 21:34, 27/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Варианты:

    1) снапшоты, если уж всё на одной FS храните. btrfs та же - благо если так наплевать на сохранность данных значит бояться её глюков нечего.
    2) таки разнести по разным разделам как минимум хомяк лучше дежать отдельно, а лучше - еще отдельно иметь файлопомойку (в RO) и торренты.
    3) ежели, как сейчас модно, ноуты/планшеты - то медиасервер в помощь. Хоть покупной, хоть самопальный.

     

  • 1.29, Аноним (-), 00:00, 28/08/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Чем оно лучше nixos?
     
  • 1.31, AnonuS (?), 04:08, 28/08/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > Выпуск OSTree 2013.6, инструмента для организации обновления системы в стиле Git

    Заголовок несколько "желтоват". Почему в стиле Git, а не в стиле Меркуриал ?

     
     
  • 2.34, Аноним (-), 08:46, 28/08/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Почему в стиле Git, а не в стиле Меркуриал ?

    Потому что на официальном сайте  OSTree  и в документации так и написано "git for operating system binaries"

     
     
  • 3.45, AnonuS (?), 05:15, 30/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, значит документация желтовата, с бинарными данными Git работает плохо, а вот Subversion как раз наоборот - хорошо.
     

  • 1.32, Fracta1L (ok), 06:41, 28/08/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Но ведь уже есть снапшоты
     
  • 1.37, slowpoke (?), 13:23, 28/08/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    "OSTree не является ни системой управления пакетами"

    А теперь нужно чтобы стала.
    Нужно управление как на уровне пакетов так и на уровне файлов.
    Нужно отслеживать целостность файлов из которых состоят пакеты и множество пакетов и транзакционно все это откатывать и накатывать

     
  • 1.38, Аноним (-), 15:12, 28/08/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    чем это лучше zbackup?
     
  • 1.43, ip1981 (ok), 18:58, 28/08/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    IPS + ZFS ?
     
  • 1.46, arisu (ok), 13:43, 30/08/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ребята изо всех сил изобретают снапшоты и контейнеры.
     
  • 1.50, matrix (??), 05:02, 01/09/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Для дистроклепателей самое оно :)
     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Слёрм
    Inferno Solutions
    Hosting by Ihor
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2019 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру