Jump to content

BFRESH: различия между версиями

 
(не показано 18 промежуточных версий этого же участника)
Строка 18: Строка 18:
==== Live-режим с сохранением данных ====
==== Live-режим с сохранением данных ====


* При загрузке с ISO через Ventoy можно сохранять данные в папке rosa рядом с образом.
* При загрузке с 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. =====
===== ▶ Использование дополнительных модулей при классической установке ОС и OEM-install. =====
В режиме классической установки BFRESH позволяет менять состав ПО не только за счет подключения/отключения модулей из состава BFRESH, но и за счет добавления самостоятельно собранных модулей. Графический интерфейс установщика BFRESH позволит вам подключить только один такой модуль. Это связано с необходимости поддержания базы rpm в состоянии соответствующем реальному набору установленного ПО.  
В режиме классической установки BFRESH позволяет менять состав ПО не только за счет подключения/отключения модулей из состава BFRESH, но и за счет добавления самостоятельно собранных модулей. Графический интерфейс установщика BFRESH позволит вам подключить только один такой модуль. Это связано с необходимости поддержания базы rpm в состоянии соответствующем реальному набору установленного ПО.  


Для сборки модуля можно использовать утилиты из набора barium_utils, те же что используются для сборки модулей Barium.
Самый простой способ собрать нужные модули это использовать '''"Витрину популярных приложений"'''. Просто выберите прямо на странице нужное приложение и нажмите "Установить", вместо установки утилита запакует выбранную программу и все ее зависимости в модуль. Аналогично можно собрать модуль из нескольких приложений последовательно выбирая их. [[Файл:Hidden.png|мини]]


'''Важно:'''


    barium dnf2mod -r -o имя_модулю имя_пакета_1 имя_пакета_2 имя_пакета_3 ...
* Витрина содержит не все доступное в репозиториях ПО, а только наиболее популярное
* Перед запаковкой в модуль необходимо выставить галочку в поле "Сохранять в модуле базу данных rpm", если модуль не для установки ОС, а для самого бифреша галочка не нужна.


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


* barium dnf2mod
* barium chroot2mod
Например:
    barium dnf2mod -r -o имя_модулю имя_пакета_1 имя_пакета_2 ...


Ключ -r нужен здесь, чтобы утилита сохранила в модуль базу rpm. Если пакет всего один -o можно не указывать, имя модуля будет сформировано добавлением .xzm к имени пакета.  
Ключ -r нужен здесь, чтобы утилита сохранила в модуль базу rpm. Если пакет всего один -o можно не указывать, имя модуля будет сформировано добавлением .xzm к имени пакета.  


Для того, чтобы стал доступен для добавления при установке ОС достаточно чтобы он находился внутри домашней папки пользователя, чтобы ПО из модуля можно было использовать и в BFRESH тоже,  модуль нужно разместить в '''/.memory/layer-base/1/modules'''. Можно сделать так:
Для того, чтобы модуль был доступен для добавления при установке ОС, достаточно чтобы он находился внутри домашней папки пользователя, чтобы ПО из модуля можно было использовать и в BFRESH тоже,  модуль нужно разместить в '''/.memory/layer-base/1/modules'''. Можно сделать так:
 


     barium instmod имя_модуля.xzm
     barium instmod имя_модуля.xzm
[[Файл:Hidden.png|мини]]
Подключен будет при следующей загрузке ОС.
Подключен будет при следующей загрузке ОС.


 
====== ▶ Модуль удаляющий ПО ======
 
Можно собрать модуль который удалит  выбранное  ПО из устанавливаемого инсталлятором. Звучит странно, но это работает.
Аналогично можно собрать модуль '''удаляющий''' ПО из состава устанавливаемого инсталлятором. Звучит странно, но это работает.
 


     barium dnf2mod -r -e chromium-browser-stable
     barium dnf2mod -r -e chromium-browser-stable
Строка 124: Строка 118:
Команда создаст модуль с именем hidden_chromium-browser-stable.xzm, если поставить галочку напротив этого модуля в окошке "Стандартный способ установки" в установленной анакондой ОС не будет хромиума.
Команда создаст модуль с именем hidden_chromium-browser-stable.xzm, если поставить галочку напротив этого модуля в окошке "Стандартный способ установки" в установленной анакондой ОС не будет хромиума.


====== ▶ Сборка модулей для инсталлятора, которые не зависят от полного набора базовых модулей BFRESH ======
Это может понадобится, например, для сборки модуля с альтернативным DE или для сборки модуля расширяющего набор ПО для серверной установки.


Сборка таких модулей возможна за счет того, что каждый модуль знает своих "родителей" то есть модули из которых была собрана rootfs при его сборке.


'''▶ Использование системных изменений BFRESH для формирования rootfs для классической установки и OEM-install'''
Для создания этих модулей используются те же утилиты dnf2mod и chroot2mod, с добавлением дополнительного ключа -p. Ему нужно передать имя модуля (или часть имени), который будет ближайшим родителем собираемого модуля.  Имена модулей в текущих сборках:
 
С настройками по умолчанию BFRESH  в режиме загрузки "Рабочая станция" сохраняет все изменения сделанные в ОС и в папке пользователя в модули при выключении Системы. Это новые файлы, новые пакеты, а также измененные и удаленные файлы. Интерфейс bfresh-install также позволяет выбирать эти модули при создании rootfs для новой установки. Это позволяет загрузить BFRESH настроить ОС как вам нужно, обычными, не связанными с модулями, средствами и в последующем устанавливать по сути '''преднастроенный клон''', а не голую ОС. Есть несколько нюансов, которые следует знать для эффективного использования описанной схемы установки.
 
# Системные изменения и домашние каталоги сохраняются в разные модули.
# Модуль с системными изменениями создается отдельно для каждой машины, а модуль с домашними папками один и тот же всегда.
# Модуль с каталогами пользователя можно сохранить "на ходу" ярлычком на рабочем столе, системные модули только через перезагрузку.
# Модули создаются при каждой перезагрузке, то есть вашу преднастроенную ОС, можно донастроить если загрузить на '''той же''' машине.
# Система сохранений гибко настраивается, можно настроить режим сохранение для любого файла или папки отдельно или, например "заморозить" модуль. Смотрите /.memory/layer-base/1/saves/toxzm.cfg и тему по сохранениям в Барии - [[Barium saves system]]
# BFRESH установщик отслеживает подключаемые модули и не даст вам установить ОС с некорректной базой rpm, если вы включаете флажок у модуля при этом другие модули отключаются или наоборот включаются это именно оно.
 
 
 
'''▶ Сборка модулей для инсталлятора, которые не зависят от полного набора базовых модулей BFRESH'''
 
Такое может понадобится например для сборки модуля с альтернативным DE или для сборки модуля расширяющего набор ПО для серверной установки.
 
Такая сборка возможна за счет того, что каждый модуль знает своих "родителей" то есть модули из которых была собрана rootfs при его сборке.
 
Для сборки таких модулей используются те же утилиты dnf2mod и chroot2mod с добавлением дополнительного ключа -p. Ему нужно передать имя модуля (или часть имени) который будет ближайшим родителем собираемого модуля.  В текущих сборках имена модулей
 
 
     00-rootfs.trm
     00-rootfs.trm
     01-kmod.trm
     01-kmod.trm
     05-basesystem.trm
     05-basesys.trm
     08-litesys
     08-litesys
     10-extsys
     10-extsys
Строка 159: Строка 135:


Например:
Например:
    barium dnf2mod -r -p 05 docker task-lamp
или
    barium chroot2mod -p base -o gnome.xzm --command dnf install task-gnome




    barium dnf2mod -r -p 05 docker task-lamp


Если предполагается модуль большого размера собирать его в домашней папке не правильно, она сама пакуется в модуль.  Хорошим выбором будет каталог '''/.memory/layer-base/1/optional''' модули находящиеся внем будут видны инсталлятору при этом не будут подключаться при загрузке самого бифреша. То есть переходим в эту папку, проверяем наличие достаточного свободного места (df ./) и после этого запускаем сборку модуля.
Для того чтобы не собирать аналогичным образом модули масштаба task-iso-gnome, что потребует от 16GB ОЗУ, некоторые подобные модули будут собираться в репозиторий модулей. Получить их можно с помощью утилиты barium getmod.
    cd /.memory/layer-base/1/optional
    barium getmod gnome


или
Команда выведет список модулей в репозитории где в названии есть переданные символы и предложит скачать. Модули которые подходят для использования с BFRESH установщиком имеют суффикс -inst.




    barium chroot2mod -p base -o gnome.xzm --command dnf install task-gnome


====== '''▶ Использование модулей системных изменений BFRESH для установки ОС''' ======
С настройками по умолчанию BFRESH  в режиме загрузки "Рабочая станция" сохраняет все изменения сделанные в ОС и в папке пользователя в модули при выключении Системы. Это новые файлы, новые пакеты, а также измененные и удаленные файлы. Интерфейс bfresh-install также позволяет выбирать эти модули при создании rootfs для новой установки. Это позволяет загрузить BFRESH настроить ОС как вам нужно, обычными, не связанными с модулями, средствами и в последующем устанавливать по сути '''преднастроенный клон''', а не голую ОС. Есть несколько нюансов, которые следует знать для эффективного использования описанной схемы установки.


# Системные изменения и домашние каталоги сохраняются в разные модули.
# Модуль с системными изменениями создается отдельно для каждой машины, а модуль с домашними папками один и тот же всегда.
# Модуль с каталогами пользователя можно сохранить "на ходу" ярлычком на рабочем столе, системные модули только через перезагрузку.
# Модули создаются при каждой перезагрузке, то есть вашу преднастроенную ОС, можно донастроить если загрузить на '''той же''' машине.
# Система сохранений гибко настраивается, можно настроить режим сохранение для любого файла или папки отдельно или, например "заморозить" модуль. Смотрите /.memory/layer-base/1/saves/toxzm.cfg и тему по сохранениям в Барии - [[Barium saves system]]
# BFRESH установщик отслеживает подключаемые модули и не даст вам установить ОС с некорректной базой rpm, если вы включаете флажок у модуля при этом другие модули отключаются или наоборот включаются это именно оно.


Если предполагается модуль большого размера собирать его в домашней папке не правильно, она сама пакуется в модуль.  Хорошим выбором будет каталог '''/.memory/layer-base/1/optional''' модули находящиеся внем будут видны инсталлятору при этом не будут подключаться при загрузке самого бифреша. То есть переходим в эту папку, проверяем наличие достаточного свободного места (df ./) и после этого запускаем сборку модуля.


== Чем BFRESH лучше обычного ISO? ==
== Чем BFRESH лучше обычного ISO? ==

Текущая версия от 17:28, 27 ноября 2025

BFRESH — модульный гибрид Бария и РОСА Фреш

BFRESH (произносится «БиФреш») — это гибридная система, объединяющая модульность Бария и удобство классической установки РОСА Фреш.


Скачать в формате ISO

Скачать архив

С помощью BFRESH можно:

  • Работать в live-режиме с сохранением данных между сессиями.
  • Устанавливать классическую ОС (как обычный Фреш) с выбором набора ПО.
  • Разворачивать модульную систему (как Барий) на флешку или HDD.
  • Обновляться без переустановки (если развернут в модульном режиме).

Особенности BFRESH

Live-режим с сохранением данных

  • При загрузке с ISO через Ventoy можно сохранять данные в папке ROSA-DATA рядом с образом.
  • При записи на флешку через dd система автоматически расширяет раздел для хранения пользовательских файлов.
  • Поддержка раздельных профилей для разных компьютеров (например, драйверы NVIDIA только для одной машины).

Установка классической ОС с выбором пакетов

Перед установкой можно выбрать готовые конфигурации:

  1. Полный Фреш с Plazma 6 (по умолчанию).
  2. Минималистичный Фреш (только DE, без лишнего ПО).
  3. Серверный вариант (без графической среды).
  4. Можно добавлять свои модули таким образом меняя набор ПО для установки.

Модульная установка (как Барий)

  • Можно развернуть BFRESH на флешку в модульном режиме, чтобы система могла обновляться.
  • Поддерживается атомарное обновление с возможностью отката.
  • Загрузка в ОЗУ (носитель можно извлечь после старта).
  • Такая ОС на флешке так же будет работать инсталлятором для Фреша
Дополнительно:
  • PXE установка (тут подробнее Barium and virtual machine#PXE загрузка).
  • Текстовая установка (simple-install из командной строки).
  • Kickstart (автоматическая установка).
  • Замена ядра (как для live-режима, так и для установленной системы)


bfresh-install
bfresh-install
bfresh-install
bfresh-install установка на съемный носитель
bfresh-install OEM установка
bfresh-install OEM установка

Как использовать 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 настроить ОС как вам нужно, обычными, не связанными с модулями, средствами и в последующем устанавливать по сути преднастроенный клон, а не голую ОС. Есть несколько нюансов, которые следует знать для эффективного использования описанной схемы установки.

  1. Системные изменения и домашние каталоги сохраняются в разные модули.
  2. Модуль с системными изменениями создается отдельно для каждой машины, а модуль с домашними папками один и тот же всегда.
  3. Модуль с каталогами пользователя можно сохранить "на ходу" ярлычком на рабочем столе, системные модули только через перезагрузку.
  4. Модули создаются при каждой перезагрузке, то есть вашу преднастроенную ОС, можно донастроить если загрузить на той же машине.
  5. Система сохранений гибко настраивается, можно настроить режим сохранение для любого файла или папки отдельно или, например "заморозить" модуль. Смотрите /.memory/layer-base/1/saves/toxzm.cfg и тему по сохранениям в Барии - Barium saves system
  6. BFRESH установщик отслеживает подключаемые модули и не даст вам установить ОС с некорректной базой rpm, если вы включаете флажок у модуля при этом другие модули отключаются или наоборот включаются это именно оно.


Чем BFRESH лучше обычного ISO?

  • Гибкость — можно и работать в live-режиме, и устанавливать систему.
  • Сохранение данных — даже при загрузке через Ventoy.
  • Модульность — добавление своего ПО через модули.
  • Обновления — если развернут в модульном режиме.
  • Атомарность — откат к предыдущей версии при проблемах.
  • ISO? - BFRESH вовсе не обязан быть в формате iso9660, будет работать с любых fs доступных загрузчику. В том числе fat32.

Ссылки и дополнительная информация

Подробнее по модульной установка с simple-install

Создание своих модулей dnf2mod, chroot2mod и проч.


BFRESH — это не просто установочный образ, а универсальный инструмент для работы, тестирования и развертывания ОС!

(Статья будет дополняться по мере развития проекта.)