Неизменяемый образ системы.
Применимо ли это к Домашнему Linux по вашему?
Хотел бы высказать своё мнение и услышать ваше по теме.
То что я вижу вокруг себя, все системы, за исключением домашних Linux дистрибутивов ведут себя, как Embeeded (встраиваемые) решения. Роутеры, смартфоны, телевизоры, умные колонки, SteamDeck, Windows, MacOS, iOS, Android, да даже докер/кубернетис/VM в серверах именно что используют концепт доставки готового, протестированного, образа в различных условиях и после он доставляется, как есть на устройство в неизменном виде.
При этом часто используется система A/B обновления, то есть на диске у нас 2 копии системы, текущая и будущая. При обновлении мы разворачиваем готовый образ системы в соседний раздел и переводим флаг загрузки одноразовый на свежую. При этом, если загрузка оказалось неудачной и по watchdog (обычно аппаратный наблюдатель, который, если не получает сигнал на сброс таймера - перезапустит устройство целиком), а так же если система не закрепила загрузку за собой после запуска (не совсем удачная прошивка), то следующая загрузка происходит в работающую систему с которой начинали обновление. Что гарантирует пользователю рабочее устройство не смотря на проблемы с обновлением.
На сегодня например так работает SteamDeck, обновление системы это распаковка образа и A/B переключение. Именно поэтому там только игры и flatpak приложения выживают.
Меня бы на сегодня сильно устроил бы именно не изменяемый образ с всеми необходимыми библиотеками в системном образе /sys /bin /lib для гарантированной работы самой системы. А так же установка приложений в изменяемую часть /usr. Такой подход в целом, как у Win/Andoird/iOS/MacOS - основная система и есть версия операционки - обновляется раз в год или с патчами по необходимости.
И я вижу сегодня тренд у большинства это путь в атомарные сборки, когда у нас система собирает системный образ себе сама и переключается на него. Или же у нас обычная на сегодня система и есть возможность откатиться с помощью снимков BTRFS, когда есть возможность сделать откат живой системы.
Мне больше бы понравился подход отделить системный и пользовательский софт, как того предполагает изначально разбивка в linux. И для гибкости, можно было бы выбрать экспертный режим OSTree, когда сам себе системный собираешь или "домашний" путь, когда за тебя его собрали, возможно объёмный, зато точно рабочий такой LTS подход.
В целом это бы ещё решило проблему Linux смартфонов, так как восстановить ОСь на ПК всё же проще, чем смартфон и часто смартфон на сегодня это единственное и самое персональное устройство где обычно "всё".
Что думаете?
Post #1432
2.08K
- 👍 24
- 🔥 7