BFRESH: различия между версиями
Betcher (обсуждение | вклад) |
Betcher (обсуждение | вклад) |
||
| (не показано 26 промежуточных версий этого же участника) | |||
| Строка 18: | Строка 18: | ||
==== Live-режим с сохранением данных ==== | ==== Live-режим с сохранением данных ==== | ||
* При загрузке с ISO через Ventoy можно сохранять данные в папке | * При загрузке с ISO через Ventoy можно сохранять данные в папке ROSA-DATA рядом с образом. | ||
* При записи на флешку через dd система автоматически расширяет раздел для хранения пользовательских файлов. | * При записи на флешку через dd система автоматически расширяет раздел для хранения пользовательских файлов. | ||
* Поддержка раздельных профилей для разных компьютеров (например, драйверы NVIDIA только для одной машины). | * Поддержка раздельных профилей для разных компьютеров (например, драйверы NVIDIA только для одной машины). | ||
| Строка 52: | Строка 52: | ||
Запишите образ на флешку (dd или ddpy-gtk). | Запишите образ на флешку (dd или ddpy-gtk). | ||
При первом запуске система расширит раздел для хранения изменений. | При первом запуске система расширит раздел для хранения изменений. После одной перезагрузки изменения будут сохраняться. | ||
Либо положите ISO в раздел для образов Ventoy и создайте папку ROSA-DATA рядом с ним для сохранения данных. | Либо положите ISO в раздел для образов Ventoy и создайте папку ROSA-DATA рядом с ним для сохранения данных. | ||
| Строка 61: | Строка 61: | ||
Загрузите машину с флешки, запустите установщик (иконка на рабочем столе). | Загрузите машину с флешки, запустите установщик (иконка на рабочем столе). | ||
В первом | В первом окошке выберите "УСТАНОВИТЬ". | ||
Запустится Anaconda, завершите установку. | Запустится Anaconda, завершите установку. | ||
===== ▶ Развертывание модульной системы ===== | ===== ▶ Развертывание модульной системы ===== | ||
Загрузите машину с флешки, запустите установщик (иконка на рабочем столе). | Загрузите машину с флешки, запустите установщик (иконка на рабочем столе). Выберите "Дополнительные способы установки". | ||
В | В окне BFRESH установщика переключите вкладку на "Установка на съемные носители". | ||
Заполните необходимые поля по смыслу (минимально нужно выбрать устройство для установки). | Заполните необходимые поля по смыслу (минимально нужно выбрать устройство для установки). | ||
| Строка 76: | Строка 74: | ||
Подтвердите выбор. | Подтвердите выбор. | ||
'''Можно консольно, например так:''' | |||
sudo simple-install /dev/sdX -t 3l -p пароль | sudo simple-install /dev/sdX -t 3l -p пароль | ||
===== ▶ Предварительная установка (OEM install) ===== | ===== ▶ Предварительная установка (OEM install) ===== | ||
При такой установке BFRESH будет установлен модульно в первый (и единственный) fat32 EFI раздел диска. | При такой установке BFRESH будет установлен модульно в первый (и единственный) fat32 EFI раздел диска. Для будущей ОС это будет раздел восстановления. | ||
Для будущей ОС это будет раздел восстановления. | |||
Реальная установка (не модульная) происходит в момент | Реальная установка (не модульная) происходит в момент первого запуска ОС с этого диска. Реализация oem-install с BFRESH отличается от описанного тут [[Alternative installers#Oem-install]] тем, что первый раздел FAT32, а не iso9660. | ||
первого запуска ОС с этого диска. Реализация oem-install с BFRESH отличается от описанного тут [[Alternative installers#Oem-install]] тем, что первый раздел FAT32, а не iso9660. | |||
Внимание! Этот Способ установки не имеет настроек. ОС будет использовать весь выбранный диск. | Внимание! Этот Способ установки не имеет настроек. ОС будет использовать весь выбранный диск. | ||
Кроме установки непосредственно на целевой диск в этой же вкладке можно установить ОС с oem-install механизмом в образ (raw image), который уже потом копировать по-байтово на целевые машины. Для этого у BFRESH установщика есть отдельная вкладка. Предпочтительно использовать именно ее, а не dd или аналоги, так как сверит контрольные суммы и установит правильное значение размера диска в GPT. | |||
===== ▶ Использование дополнительных модулей при классической установке ОС и OEM-install. ===== | |||
В режиме классической установки BFRESH позволяет менять состав ПО не только за счет подключения/отключения модулей из состава BFRESH, но и за счет добавления самостоятельно собранных модулей. Графический интерфейс установщика BFRESH позволит вам подключить только один такой модуль. Это связано с необходимости поддержания базы rpm в состоянии соответствующем реальному набору установленного ПО. | |||
Самый простой способ собрать нужные модули это использовать '''"Витрину популярных приложений"'''. Просто выберите прямо на странице нужное приложение и нажмите "Установить", вместо установки утилита запакует выбранную программу и все ее зависимости в модуль. Аналогично можно собрать модуль из нескольких приложений последовательно выбирая их. [[Файл:Hidden.png|мини]] | |||
'''Важно:''' | |||
* Витрина содержит не все доступное в репозиториях ПО, а только наиболее популярное | |||
* Перед запаковкой в модуль необходимо выставить галочку в поле "Сохранять в модуле базу данных rpm", если модуль не для установки ОС, а для самого бифреша галочка не нужна. | |||
Так же для сборки модуля можно использовать утилиты из набора barium_utils, те же что используются для сборки модулей Barium: | |||
* barium dnf2mod | |||
* barium chroot2mod | |||
Например: | |||
barium dnf2mod -r -o имя_модулю имя_пакета_1 имя_пакета_2 ... | |||
Ключ -r нужен здесь, чтобы утилита сохранила в модуль базу rpm. Если пакет всего один -o можно не указывать, имя модуля будет сформировано добавлением .xzm к имени пакета. | |||
Для того, чтобы модуль был доступен для добавления при установке ОС, достаточно чтобы он находился внутри домашней папки пользователя, чтобы ПО из модуля можно было использовать и в BFRESH тоже, модуль нужно разместить в '''/.memory/layer-base/1/modules'''. Можно сделать так: | |||
barium instmod имя_модуля.xzm | barium instmod имя_модуля.xzm | ||
Подключен будет при следующей загрузке ОС. | |||
====== ▶ Модуль удаляющий ПО ====== | |||
Можно собрать модуль который удалит выбранное ПО из устанавливаемого инсталлятором. Звучит странно, но это работает. | |||
barium dnf2mod -r -e chromium-browser-stable | |||
Команда создаст модуль с именем hidden_chromium-browser-stable.xzm, если поставить галочку напротив этого модуля в окошке "Стандартный способ установки" в установленной анакондой ОС не будет хромиума. | |||
====== ▶ Сборка модулей для инсталлятора, которые не зависят от полного набора базовых модулей BFRESH ====== | |||
Это может понадобится, например, для сборки модуля с альтернативным DE или для сборки модуля расширяющего набор ПО для серверной установки. | |||
Сборка таких модулей возможна за счет того, что каждый модуль знает своих "родителей" то есть модули из которых была собрана rootfs при его сборке. | |||
Для создания этих модулей используются те же утилиты dnf2mod и chroot2mod, с добавлением дополнительного ключа -p. Ему нужно передать имя модуля (или часть имени), который будет ближайшим родителем собираемого модуля. Имена модулей в текущих сборках: | |||
00-rootfs.trm | |||
01-kmod.trm | |||
05-basesys.trm | |||
08-litesys | |||
10-extsys | |||
Остальные базовые модули при установке ОС не используются. Точный список можно узнать с barium ls | |||
Таким образом для сборки поверх базового уровня без графики можно указывать -p base или -p 05, для сборки поверх "голой" плазмы -p 08 или -p litesys. | |||
Например: | |||
barium dnf2mod -r -p 05 docker task-lamp | |||
или | |||
barium chroot2mod -p base -o gnome.xzm --command dnf install task-gnome | |||
Если предполагается модуль большого размера собирать его в домашней папке не правильно, она сама пакуется в модуль. Хорошим выбором будет каталог '''/.memory/layer-base/1/optional''' модули находящиеся внем будут видны инсталлятору при этом не будут подключаться при загрузке самого бифреша. То есть переходим в эту папку, проверяем наличие достаточного свободного места (df ./) и после этого запускаем сборку модуля. | |||
Для того чтобы не собирать аналогичным образом модули масштаба task-iso-gnome, что потребует от 16GB ОЗУ, некоторые подобные модули будут собираться в репозиторий модулей. Получить их можно с помощью утилиты barium getmod. | |||
cd /.memory/layer-base/1/optional | |||
barium getmod gnome | |||
Команда выведет список модулей в репозитории где в названии есть переданные символы и предложит скачать. Модули которые подходят для использования с BFRESH установщиком имеют суффикс -inst. | |||
====== '''▶ Использование модулей системных изменений BFRESH для установки ОС''' ====== | |||
С настройками по умолчанию BFRESH в режиме загрузки "Рабочая станция" сохраняет все изменения сделанные в ОС и в папке пользователя в модули при выключении Системы. Это новые файлы, новые пакеты, а также измененные и удаленные файлы. Интерфейс bfresh-install также позволяет выбирать эти модули при создании rootfs для новой установки. Это позволяет загрузить BFRESH настроить ОС как вам нужно, обычными, не связанными с модулями, средствами и в последующем устанавливать по сути '''преднастроенный клон''', а не голую ОС. Есть несколько нюансов, которые следует знать для эффективного использования описанной схемы установки. | |||
# Системные изменения и домашние каталоги сохраняются в разные модули. | |||
# Модуль с системными изменениями создается отдельно для каждой машины, а модуль с домашними папками один и тот же всегда. | |||
# Модуль с каталогами пользователя можно сохранить "на ходу" ярлычком на рабочем столе, системные модули только через перезагрузку. | |||
# Модули создаются при каждой перезагрузке, то есть вашу преднастроенную ОС, можно донастроить если загрузить на '''той же''' машине. | |||
# Система сохранений гибко настраивается, можно настроить режим сохранение для любого файла или папки отдельно или, например "заморозить" модуль. Смотрите /.memory/layer-base/1/saves/toxzm.cfg и тему по сохранениям в Барии - [[Barium saves system]] | |||
# BFRESH установщик отслеживает подключаемые модули и не даст вам установить ОС с некорректной базой rpm, если вы включаете флажок у модуля при этом другие модули отключаются или наоборот включаются это именно оно. | |||
== Чем BFRESH лучше обычного ISO? == | == Чем BFRESH лучше обычного ISO? == | ||
Текущая версия от 17:28, 27 ноября 2025
BFRESH — модульный гибрид Бария и РОСА Фреш
BFRESH (произносится «БиФреш») — это гибридная система, объединяющая модульность Бария и удобство классической установки РОСА Фреш.
С помощью BFRESH можно:
- Работать в live-режиме с сохранением данных между сессиями.
- Устанавливать классическую ОС (как обычный Фреш) с выбором набора ПО.
- Разворачивать модульную систему (как Барий) на флешку или HDD.
- Обновляться без переустановки (если развернут в модульном режиме).
Особенности BFRESH
Live-режим с сохранением данных
- При загрузке с ISO через Ventoy можно сохранять данные в папке ROSA-DATA рядом с образом.
- При записи на флешку через dd система автоматически расширяет раздел для хранения пользовательских файлов.
- Поддержка раздельных профилей для разных компьютеров (например, драйверы NVIDIA только для одной машины).
Установка классической ОС с выбором пакетов
Перед установкой можно выбрать готовые конфигурации:
- Полный Фреш с Plazma 6 (по умолчанию).
- Минималистичный Фреш (только DE, без лишнего ПО).
- Серверный вариант (без графической среды).
- Можно добавлять свои модули таким образом меняя набор ПО для установки.
Модульная установка (как Барий)
- Можно развернуть BFRESH на флешку в модульном режиме, чтобы система могла обновляться.
- Поддерживается атомарное обновление с возможностью отката.
- Загрузка в ОЗУ (носитель можно извлечь после старта).
- Такая ОС на флешке так же будет работать инсталлятором для Фреша
Дополнительно:
- PXE установка (тут подробнее Barium and virtual machine#PXE загрузка).
- Текстовая установка (simple-install из командной строки).
- Kickstart (автоматическая установка).
- Замена ядра (как для live-режима, так и для установленной системы)



Как использовать BFRESH?
▶ Загрузка с ISO (Live-режим)
Запишите образ на флешку (dd или ddpy-gtk).
При первом запуске система расширит раздел для хранения изменений. После одной перезагрузки изменения будут сохраняться.
Либо положите ISO в раздел для образов Ventoy и создайте папку ROSA-DATA рядом с ним для сохранения данных.
Внимание! Сохранения начнут работать после первой перезагрузки с папкой ROSA-DATA.
▶ Установка классической ОС
Загрузите машину с флешки, запустите установщик (иконка на рабочем столе).
В первом окошке выберите "УСТАНОВИТЬ".
Запустится Anaconda, завершите установку.
▶ Развертывание модульной системы
Загрузите машину с флешки, запустите установщик (иконка на рабочем столе). Выберите "Дополнительные способы установки".
В окне BFRESH установщика переключите вкладку на "Установка на съемные носители".
Заполните необходимые поля по смыслу (минимально нужно выбрать устройство для установки).
Подтвердите выбор.
Можно консольно, например так:
sudo simple-install /dev/sdX -t 3l -p пароль
▶ Предварительная установка (OEM install)
При такой установке BFRESH будет установлен модульно в первый (и единственный) fat32 EFI раздел диска. Для будущей ОС это будет раздел восстановления.
Реальная установка (не модульная) происходит в момент первого запуска ОС с этого диска. Реализация oem-install с BFRESH отличается от описанного тут Alternative installers#Oem-install тем, что первый раздел FAT32, а не iso9660.
Внимание! Этот Способ установки не имеет настроек. ОС будет использовать весь выбранный диск.
Кроме установки непосредственно на целевой диск в этой же вкладке можно установить ОС с oem-install механизмом в образ (raw image), который уже потом копировать по-байтово на целевые машины. Для этого у BFRESH установщика есть отдельная вкладка. Предпочтительно использовать именно ее, а не dd или аналоги, так как сверит контрольные суммы и установит правильное значение размера диска в GPT.
▶ Использование дополнительных модулей при классической установке ОС и OEM-install.
В режиме классической установки BFRESH позволяет менять состав ПО не только за счет подключения/отключения модулей из состава BFRESH, но и за счет добавления самостоятельно собранных модулей. Графический интерфейс установщика BFRESH позволит вам подключить только один такой модуль. Это связано с необходимости поддержания базы rpm в состоянии соответствующем реальному набору установленного ПО.
Самый простой способ собрать нужные модули это использовать "Витрину популярных приложений". Просто выберите прямо на странице нужное приложение и нажмите "Установить", вместо установки утилита запакует выбранную программу и все ее зависимости в модуль. Аналогично можно собрать модуль из нескольких приложений последовательно выбирая их.

Важно:
- Витрина содержит не все доступное в репозиториях ПО, а только наиболее популярное
- Перед запаковкой в модуль необходимо выставить галочку в поле "Сохранять в модуле базу данных rpm", если модуль не для установки ОС, а для самого бифреша галочка не нужна.
Так же для сборки модуля можно использовать утилиты из набора barium_utils, те же что используются для сборки модулей Barium:
- barium dnf2mod
- barium chroot2mod
Например:
barium dnf2mod -r -o имя_модулю имя_пакета_1 имя_пакета_2 ...
Ключ -r нужен здесь, чтобы утилита сохранила в модуль базу rpm. Если пакет всего один -o можно не указывать, имя модуля будет сформировано добавлением .xzm к имени пакета.
Для того, чтобы модуль был доступен для добавления при установке ОС, достаточно чтобы он находился внутри домашней папки пользователя, чтобы ПО из модуля можно было использовать и в BFRESH тоже, модуль нужно разместить в /.memory/layer-base/1/modules. Можно сделать так:
barium instmod имя_модуля.xzm
Подключен будет при следующей загрузке ОС.
▶ Модуль удаляющий ПО
Можно собрать модуль который удалит выбранное ПО из устанавливаемого инсталлятором. Звучит странно, но это работает.
barium dnf2mod -r -e chromium-browser-stable
Команда создаст модуль с именем hidden_chromium-browser-stable.xzm, если поставить галочку напротив этого модуля в окошке "Стандартный способ установки" в установленной анакондой ОС не будет хромиума.
▶ Сборка модулей для инсталлятора, которые не зависят от полного набора базовых модулей BFRESH
Это может понадобится, например, для сборки модуля с альтернативным DE или для сборки модуля расширяющего набор ПО для серверной установки.
Сборка таких модулей возможна за счет того, что каждый модуль знает своих "родителей" то есть модули из которых была собрана rootfs при его сборке.
Для создания этих модулей используются те же утилиты dnf2mod и chroot2mod, с добавлением дополнительного ключа -p. Ему нужно передать имя модуля (или часть имени), который будет ближайшим родителем собираемого модуля. Имена модулей в текущих сборках:
00-rootfs.trm 01-kmod.trm 05-basesys.trm 08-litesys 10-extsys
Остальные базовые модули при установке ОС не используются. Точный список можно узнать с barium ls
Таким образом для сборки поверх базового уровня без графики можно указывать -p base или -p 05, для сборки поверх "голой" плазмы -p 08 или -p litesys.
Например:
barium dnf2mod -r -p 05 docker task-lamp
или
barium chroot2mod -p base -o gnome.xzm --command dnf install task-gnome
Если предполагается модуль большого размера собирать его в домашней папке не правильно, она сама пакуется в модуль. Хорошим выбором будет каталог /.memory/layer-base/1/optional модули находящиеся внем будут видны инсталлятору при этом не будут подключаться при загрузке самого бифреша. То есть переходим в эту папку, проверяем наличие достаточного свободного места (df ./) и после этого запускаем сборку модуля.
Для того чтобы не собирать аналогичным образом модули масштаба task-iso-gnome, что потребует от 16GB ОЗУ, некоторые подобные модули будут собираться в репозиторий модулей. Получить их можно с помощью утилиты barium getmod.
cd /.memory/layer-base/1/optional barium getmod gnome
Команда выведет список модулей в репозитории где в названии есть переданные символы и предложит скачать. Модули которые подходят для использования с BFRESH установщиком имеют суффикс -inst.
▶ Использование модулей системных изменений BFRESH для установки ОС
С настройками по умолчанию BFRESH в режиме загрузки "Рабочая станция" сохраняет все изменения сделанные в ОС и в папке пользователя в модули при выключении Системы. Это новые файлы, новые пакеты, а также измененные и удаленные файлы. Интерфейс bfresh-install также позволяет выбирать эти модули при создании rootfs для новой установки. Это позволяет загрузить BFRESH настроить ОС как вам нужно, обычными, не связанными с модулями, средствами и в последующем устанавливать по сути преднастроенный клон, а не голую ОС. Есть несколько нюансов, которые следует знать для эффективного использования описанной схемы установки.
- Системные изменения и домашние каталоги сохраняются в разные модули.
- Модуль с системными изменениями создается отдельно для каждой машины, а модуль с домашними папками один и тот же всегда.
- Модуль с каталогами пользователя можно сохранить "на ходу" ярлычком на рабочем столе, системные модули только через перезагрузку.
- Модули создаются при каждой перезагрузке, то есть вашу преднастроенную ОС, можно донастроить если загрузить на той же машине.
- Система сохранений гибко настраивается, можно настроить режим сохранение для любого файла или папки отдельно или, например "заморозить" модуль. Смотрите /.memory/layer-base/1/saves/toxzm.cfg и тему по сохранениям в Барии - Barium saves system
- BFRESH установщик отслеживает подключаемые модули и не даст вам установить ОС с некорректной базой rpm, если вы включаете флажок у модуля при этом другие модули отключаются или наоборот включаются это именно оно.
Чем BFRESH лучше обычного ISO?
- Гибкость — можно и работать в live-режиме, и устанавливать систему.
- Сохранение данных — даже при загрузке через Ventoy.
- Модульность — добавление своего ПО через модули.
- Обновления — если развернут в модульном режиме.
- Атомарность — откат к предыдущей версии при проблемах.
- ISO? - BFRESH вовсе не обязан быть в формате iso9660, будет работать с любых fs доступных загрузчику. В том числе fat32.
Ссылки и дополнительная информация
Подробнее по модульной установка с simple-install
Создание своих модулей dnf2mod, chroot2mod и проч.
BFRESH — это не просто установочный образ, а универсальный инструмент для работы, тестирования и развертывания ОС!
(Статья будет дополняться по мере развития проекта.)