LINUX.ORG.RU

HeliumOS — скалу закатали в бетон. Встречайте!

 , bootc, heliumos

HeliumOS — скалу закатали в бетон. Встречайте!

0

1

Коротенько: атомарный дистрибутив на базе AlmaLinux (доступный без ограничений Линукс-дистрибутив класса Enterprise).


Кое-что из FAQ

Что такое HeliumOS?

Это атомарная операционная система для настольных компьютеров, созданная на базе AlmaLinux, которая наследует его стабильность, безопасность и совместимость с экосистемой Enterprise Linux.

Что предлагает HeliumOS?

GNOME, магазин пакетов Flatpak и 10 лет поддержки, которых хватит на весь срок службы вашего компьютера.

Почему называется «атомарный»?

Обновления системы распространяются через OCI-совместимые образы BootC. В результате, даже если отключить электроэнергию во время обновления, это никак не повлияет на работоспособность системы.

Сравнение с другими дистрибутивами

Ubuntu

В отличие от Ubuntu, HeliumOS не использует пакеты snap и принадлежит к семейству дистрибутивов, которые основаны на Red Hat Enterprise Linux.

Fedora

Fedora и проект Universal Blue предлагают атомарные операционные системы на базе Fedora, однако жизненный цикл Fedora составляет 13 месяцев, тогда как HeliumOS поддерживается 10 лет.

AlmaLinux

HeliumOS напрямую основан на AlmaLinux и использует многие его компоненты, но в отличие от AlmaLinux, HeliumOS ориентирован на предоставление атомарной операционной системы для настольного компьютера, которая подходит для всех пользователей.


Теперь кое-что из истории создания дистрибутива со слов своего создателя, опубликованных в блоге Альмы:

Моя цель — создать операционную систему для настольных компьютеров на базе Linux, которая будет удобной в использовании, стабильной и надежной.

Сначала я использовал для этой цели Debian, однако возникли некоторые проблемы:

  • Debian поддерживается 3-5 лет, и хотя он весьма стабилен относительно других дистрибутивов, я хотел чего-то более стабильного.
  • Непредвиденное прерывание во время традиционного обновления пакетов в Linux может привести к тому, что система не сможет загрузиться или будет работать некорректно.

Пару месяцев назад я узнал об Image mode for RHEL — это новый метод развертывания RHEL, который использует образы OCI для обновлений. Переход на Enterprise Linux и использование bootc (технология, лежащая в основе Image mode for RHEL) решили бы обе проблемы, которые я обнаружил в Debian. В общем, после комплекса экспериментов мы анонсировали альфа-версию HeliumOS на базе CentOS Stream.

Несмотря на решение нескольких проблем, переход на CentOS Stream привёл к новым:

  • CentOS Stream является роллингом, что может создавать сложности для поддержки программ или драйверов, которым требуется, например, конкретная версия ядра.
  • CentOS Stream поддерживается только 5 лет, что может быть приемлемо в некоторых случаях, но ограничивает использование HeliumOS в ситуациях, где требуется более длительная поддержка.

Стало ясно, что переход на дистрибутив Enterprise Linux с фиксированными обновлениями, такой как AlmaLinux, решил бы обе проблемы.

Благодаря совместной работе в чатах с ребятами из AlmaLinux и Fedora, мы настроили рабочие процессы для создания образов AlmaLinux bootc, так что обновления и новые выпуски HeliumOS будут поставляться через образы bootc, полученные из AlmaLinux.


Светлый лик главного разработчика: Isaac Beverly

>>> Перейти на сайт HeliumOS

★★★★★

Проверено: maxcom ()
Последнее исправление: maxcom (всего исправлений: 4)

Ответ на: комментарий от papin-aziat

Что это за саентология какая-то? Он атомный, или ядрёный? Ядро вставлено в системду из которой гном торчит и можно только обновить всё целиком (из того же релиза только с исправлением ошибок), или это какая-то жижа, в которой можно ядро оттедовва, пыхтон отседова и сверху флатпак? Чёза? Мне что, самому идти читать чтоли????

R_He_Po6oT ★★★★★
()
Ответ на: комментарий от papin-aziat

Пользователь манипулирует (загружает, создаёт, удаляет) вот этими атомами и никак не может проникать внутрь этой сущности с целью кастомизации

И как же предлагается настраивать сервак?

bread
()
Ответ на: комментарий от bread

Флатпаки ставьте :) Дистрибутив же десктопный, как я понимаю.

R_He_Po6oT ★★★★★
()
Ответ на: комментарий от R_He_Po6oT

Флатрак — это совершенно отдельный контейнер, не о нём разговор, однако обновления у него тоже вроде атомарные.

Разговор про саму ОС. Вся эта затея решает кучку застарелых проблем традиционных дистрибутивов, в частности такую: когда система постоянно изменяется внутренне на лету, то проконтролировать нарастающую сложность по сути нереально. Здесь же ты имеешь застывший слепок из любого говна и палок, но это неизменяемый слепок, и этими слепками ты можешь манипулировать, пока не получишь удовлетворительный результат. В случае же традиционных дистров, ты постоянно всё усложняешь и можешь всё окончательно поломать, даже обладая большим опытом, отсюда всякие сложные админские инструменты и даже специальные фичи новомодных ФС.

papin-aziat ★★★★★
() автор топика
Ответ на: комментарий от bread

Как и прежде. На примере ostree так: редактируешь файлы в /etc, формируется новый слой и загружаешься в него, и если всё сломал, то просто перегружаешься в предыдущий и переделываешь.

Перезагружаться придётся, это минус, нельзя просто перезапустить демона, зато и всё поломать не получится, у всего есть цена.

papin-aziat ★★★★★
() автор топика
Ответ на: комментарий от papin-aziat

Мммм. какие-то отмазки и пускание пыли в глаза. Или система атомарна и неизменяема ради стабильности и предсказыемости и цельности, или ты наворачиваешь теоретическое что-то и тогда при чём тут атомарность? Ну наверну я всякого в этот «атом» и чем это отличается от обычного дистрибутива?

R_He_Po6oT ★★★★★
()
Ответ на: комментарий от R_He_Po6oT

Или система атомарна и неизменяема

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

ради стабильности и предсказыемости и цельности

Так и есть, неизменяемость автоматически даёт стабильность, предсказуемость и цельность любой фигне.

или ты наворачиваешь теоретическое что-то и тогда при чём тут атомарность?

Какое же оно теоретическое, когда этот конкретный слой ты вообще не можешь изменить никак, только сидеть на нём или выкинуть целиком.

Ну наверну я всякого в этот «атом» и чем это отличается от обычного дистрибутива?

Вот возьмем твой дистрибутив, который является деривативом от Арча, а значит априори нестабильный. Засунем его в ostree (разве никто ещё этого не сделал?). И вот ты имеешь рабочую систему на данный момент, то есть рабочий слой, атом. Ничто не может его сломать, потому что он неизменный (хомяк за скобками). Вот ты решил обновиться, создался новый слой, новый атом, ты в него перезагрузился и обнаружил, что всё нахрен плохо. Перегружаешься назад в предыдущий рабочий слой и тупо ждёшь более удачных обновлений или разбираешься чего и где забыл подкрутить и создаёшь другой, теперь уже новый, рабочий слой.

Немного другой сценарий. Зачесались у тебя руки поковырять систему. Поковырял, создался новый слой, перегрузился в него и обнаружил, что чё-то не то расковырял (хомяк опять за скобками), перезагрузился назад, решил проблему, создался новый слой и тд.

В конце всего этого безобразия просто удаляешь нерабочие или устаревшие слои.

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

papin-aziat ★★★★★
() автор топика
Ответ на: комментарий от papin-aziat

На примере ostree так: редактируешь файлы в /etc, формируется новый слой и загружаешься в него, и если всё сломал, то просто перегружаешься в предыдущий и переделываешь.

Так, а слои эти точно не поломаются? По-моему обычные бэкапы проще и надежнее.

bread
()
Ответ на: комментарий от papin-aziat

Сам то пробовал этим пользоваться? В теории звучит красиво, но представляю какой там бардак начнется при эксплуатации. Плюс баги реализации обязательно всплывут. Запутаешься в этих слоях, и закончится всё как обычно переустановкой.

bread
()
Ответ на: комментарий от bread

Да, я хорошо посидел на Silverblue, иначе откуда я в теме?

В теории звучит красиво, но представляю какой там бардак начнется при эксплуатации.

git юзаешь? Что-то типа того. Прилетело обновление — это просто новый слой. Сам добавил изменения (то есть commit) — это просто новый слой. Переключайся на любой, удаляй ненужные. Разумеется, если хочешь в это все поиграть от души, то надо настроить сохранение большого количества слоёв, иначе затрётся рабочий и останешься с кучей беспонтовых, хотя наверняка можно тупо с сервера скачать новый да и всё, не помню уже.

Что касается бекапов. Софт не спасёт от поломки дисков, так что бекапы делать придётся.

Запутаешься в этих слоях, и закончится всё как обычно переустановкой.

В Silverblue даже поменять одну систему на другую не требует переустановки — просто командуешь и перезагружается в новую систему, она как бы тупо блоком вынимается и ставится другой блок.

Плюс баги реализации обязательно всплывут.

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

И да, я не в курсе что такое BootC, поэтому рассуждаю по опыту Федоры, а как здесь — хз.

papin-aziat ★★★★★
() автор топика
Последнее исправление: papin-aziat (всего исправлений: 1)

Кейс с отключением электроэнергии во время обновления ОС интересен, но не страшен операционке, если есть packagefs и нормальное сохранение пакетов предыдущей версии ОС и меню загрузчика с выбором сохраненного состояния для загрузки. В данном кейсе более акутальна устойчивочть файловой системы к сбоям при отключении электропитания. Поэтому использую Haiku/BFS

beos ★★★
()
Последнее исправление: beos (всего исправлений: 1)
Ответ на: комментарий от papin-aziat

Товарищ не понимает...

Ответь совокупно на простые вопросы: Зачем мне держать систему неизменяемой? Если система не изменяема то какой разговор об изменениях с целью создать своё? Если я создаю своё то я рискую сломать что? Мы ведь говорим о релизном дистре с длиииииительной поддержкой, кто там что ломает (приведи хоть один пример)? Изменения производятся через штатный пакетный менеджер или я руками тяну с онторнетов и компиляю прямо «в систему» и поэтому получаю проблемы? Я не понимаю сказок про то, что в рамках релиза установленное штатным ПМ из репозиториев дистрибутива может что-то мне сломать, ведь это прямо противоположно тому чем является такой дистрибутив! Ты заменил изменения «в системе» на изменения через флатпак, который просто жирнее и получил что? Почему это безопаснее?

R_He_Po6oT ★★★★★
()
Ответ на: комментарий от R_He_Po6oT

Зачем мне держать систему неизменяемой?

Чтобы никто и ни что не могло сделать её чем-то другим. Это гарантирует, что сегодня у тебя то, что было вчера и тд.

Если система не изменяема то какой разговор об изменениях с целью создать своё?

Что-то меняя, ты создаёшь как бы новую систему, что гарантирует тебе лёгкий возврат к старому, если что-то пошло не так, ведь у тебя теперь их две и тд.

Если я создаю своё то я рискую сломать что?

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

Мы ведь говорим о релизном дистре с длиииииительной поддержкой, кто там что ломает (приведи хоть один пример)?

Нет, мы говорим о концепции вообще (а я о своём опыте с ostree), но примеров могу привести вагон и маленькую тележку.

Дам ближайший простой. У меня кастомизированы ряд пакетов, соответственно я хочу знать какие изменения произошли в конфигах при обновлении оных. Я обновился и понял, что про какие-то пакеты забыл — забыл скопировать конфиги по умолчанию. Это не проблема, но надо идти в интернет, тащить исходники предыдущего релиза пакетов, доставать оттуда конфиги и сравнивать с новыми. В случае же ostree я просто переключаюсь в предыдущий слой, беру конфиги и возвращаюсь на следующий новый.

Сложнее. Обновился и обнаружил, что произошли какие-то тектонические сдвиги, что привело мою систему в неприятное или даже нерабочее состояние, такое было и не раз. Причины пока не ясны — то ли я что-то там опять гвоздями прибил, то ли у них там великие изменения, не суть. Суть в том, что я вот здесь, и либо сиди разбирайся, либо доставай с полки бекап, если вот прямо щас надо работу работать или просто нет желания закатывать рукава. В случае же ostree я просто перезагружаюсь в рабочий слой и откладываю решение проблем на потом.

Изменения производятся через штатный пакетный менеджер или я руками тяну с онторнетов и компиляю прямо «в систему» и поэтому получаю проблемы?

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

Конпелять в систему не пробовал, не подскажу, но возможно так же как и с /etc, то есть после изменений придётся сделать commit, то есть создать новый слой. То есть, если такая возможность есть (ставить проги конпелянием), то дело будет обстоять так, хотя надо посмотреть точнее в каком там режиме /usr/local, я не помню.

Хомяк, разумеется, вне всей этой темы, там твори любую дичь как обычно.

Я не понимаю сказок про то, что в рамках релиза установленное штатным ПМ из репозиториев дистрибутива может что-то мне сломать, ведь это прямо противоположно тому чем является такой дистрибутив!

Гы… смишно.

Ты заменил изменения «в системе» на изменения через флатпак, который просто жирнее и получил что? Почему это безопаснее?

Не, флатпак никак не связан с нашим разговором, это другое, эти сущности не пересекаются и друг на друга не влияют, то есть система живёт своей жизнью, а контейнер с флатпаками своей, на то он и контейнер.

papin-aziat ★★★★★
() автор топика
Последнее исправление: papin-aziat (всего исправлений: 1)
Ответ на: комментарий от papin-aziat

Ну, если Шляпа для тебя слишком сильно забагована

От создателей анаконды и системд! Шляпа это... шляпа. Дистр может у них и хороший (сомневаюсь), но софт днище.

bread
()
Ответ на: комментарий от papin-aziat

Софт не спасёт от поломки дисков, так что бекапы делать придётся.

Как обычно сабж никаких задач не решает, только новые создает. Фирменный почерк шляпы.

bread
()
Ответ на: комментарий от bread

сабж никаких моих задач не решает

Поправил, не благодари.

papin-aziat ★★★★★
() автор топика
Ответ на: комментарий от papin-aziat

Обновился и обнаружил, что произошли какие-то тектонические сдвиги, что привело мою систему в неприятное или даже нерабочее состояние, такое было и не раз.

Что за вра и? Это где такое? Ты на Арче. Или на Генте? Нет! Ты на лонгтерме!!! Откуда там после ОБНОВЛЕНИЯ нерабочие состояния? Примеры! Я жду примеров!!!

Не, флатпак никак не связан с нашим разговором, это другое, эти сущности не пересекаются и друг на друга не влияют, то есть система живёт своей жизнью, а контейнер с флатпаками своей, на то он и контейнер.

Ты мусорку перенёс во флатпак. Система от этого стала лучше? нифига. ты просто не видишь какой бардак там унутре.

То, что в Федоре сделали никак не связано с твоей Хелиумосиной. Нельзя сравнивать полигон редхата и окаменевшую алмабазированную вундервафлю.

R_He_Po6oT ★★★★★
()
Ответ на: комментарий от papin-aziat

сочетать надёжность шапки с потребностями десктопа

Смешно.

another ★★★★★
()
Ответ на: комментарий от R_He_Po6oT

Примеры! Я жду примеров!!!

Самый эпичный, когда шляпники из ядра 5.8 выкинули свои костыли для интела и послали его лесом, и это все прилетело бекпортами в офф. ядро.

Я тогда просто был в шоке, пока не разобрался что к чему и не нашёл разные решения проблемы для себя. Проблема решалась щелчком пальцев, но только после того как была найдена причина, а на это ушло время и нервы. В случае ostree я б просто откатился и спокойно искал причину. Можно было из бекапа, но он был бы не настолько свежий на тот момент, как система до обновления, теперь я чаще стараюсь делать.

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

Опять время на поиски проблемы, которая совсем не очевидна. А в случае ostree я б… ну ты понял.

Ты мусорку перенёс во флатпак.

Я пока обхожусь без флатпаков, аппимиджей и снапов как-то, всё есть. Была муся в аппимидже, но я таки потратил время и собрал себе пакет.

Нельзя сравнивать полигон редхата и окаменевшую алмабазированную вундервафлю.

Фишка в том, что вот эта тема с ostree выводит Федору на иной уровень стабильности и предсказуемости, так что уже можно и со стейблами поспорить. Я поэтому и спросил — неужели ещё никто не придумал ничего такого с арчем?

papin-aziat ★★★★★
() автор топика
Ответ на: комментарий от R_He_Po6oT

Зачем мне держать систему неизменяемой?

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

и вот теперь у тебя есть пакет «система»
взял поставил - все дела
не надо по отдельности накатывать все кишки во всех подробностях

зачем?
например затем, что неизменяемая система резко сужает поверхность атаки

  • проверка целостности системы практически сведена к проверке чексуммы

например затем, что мейнтенанс этой монолитины супердешевый в смысле количества толка на единицу затраченного на разруливание проблем времени.
что-то не работает, а вчера работало? откатил на вчера, все дела.

olelookoe ★★★
()
Ответ на: комментарий от olelookoe

и вот теперь у тебя есть пакет «система» взял поставил - все дела

Да это же слака! Иммутабельная только.

bread
()
Ответ на: комментарий от olelookoe

что-то не работает, а вчера работало? откатил на вчера, все дела.

А если не работало до этого, но надо, чтобы заработало завтра, например изменить, какой-нибудь системный конфиг? Как это делается в подобных системах?

dmitry237 ★★★★
()
Ответ на: комментарий от papin-aziat

Слушай, ты так долго нахваливаешь шляпу, а ты представляешь такое в нормальных дистрибутивах? Чтозанах??? Да Дебьян же, реально, вновь обретает лицо!

R_He_Po6oT ★★★★★
()
Ответ на: комментарий от dmitry237

Существует много систем, где это не требуется никогда.

Как это делается в rpm-ostree я выше рассказал — идёшь в /etc, редактируешь конфиг, коммитишь новый слой, перезагружаешься в него.

papin-aziat ★★★★★
() автор топика
Ответ на: комментарий от R_He_Po6oT

ты так долго нахваливаешь шляпу

Не было такого ни разу.

Да Дебьян же, реально, вновь обретает лицо!

Не понял?

papin-aziat ★★★★★
() автор топика
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.