ALT Linux Distributions development
 help / color / mirror / Atom feed
From: Leonid Krivoshein <klark.devel@gmail.com>
To: devel-distro@lists.altlinux.org
Subject: Re: [devel-distro] Installator 2.0: конфигуратор, создающий kickstart-файл
Date: Wed, 9 Oct 2024 04:40:37 +0300
Message-ID: <1d1b88b2-ad28-4463-b42f-9b37fcab6e01@gmail.com> (raw)
In-Reply-To: <aeb9c0be-fd5b-4697-a52f-edccdcd32da8@ya.ru>


On 10/8/24 16:43, Антон Мидюков wrote:
> Доброго времени суток
>
> Три недели назад обсуждали в составе: sin@ cas@ sem@ shaba@ antohami@, каким должен быть новый инсталлятор на базе альтератор 2.0.
>
> По результатам обсуждения я сформулировал следующие тезисы:
>
> 1. Графический интерфейс инсталлятора представляет собой конфигуратор, который создаёт сценарий автоустановки (kickstart-файл)

Типа такого: 
http://www.rhd.ru/docs/manuals/enterprise/RHEL-4-Manual/sysadmin-guide/ch-redhat-config-kickstart.html 
?

Видимо когда-то у нас почти так и задумывалось, но получилось совсем не 
так. Нужна ли совместимость с форматом kickstart? RedHat и на ней 
основанным -- понятно, почему нужна. Формат устаревший, они его тянут по 
нужде, а не от хорошей жизни. Он не подходит как универсальный формат 
для конфигураций при повторных развёртываниях. Достаточно глянуть схему 
описания сложного разбиения дисков. Сейчас для целей массового 
серверного деплоя чаще используют Yaml, реже Toml.

При этом kickstart уже известен и хорошо понятен рынку, только в этом 
его плюс при полной совместимости, которая, скорее всего, недостижима. 
Чтобы не быть голословным, сравните покрытое этой фичей: 
https://github.com/osboot/make-initrd/tree/master/features/kickstart с 
тем, что предлагает офдок RedHad по Kickstart. А без полной 
совместимости ремейк этого старья 20-летней давности теряет смысл.

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

Вот концептуальные вопросы по этому разделу:

1.1. Нас устраивает текущий guile формат для файлов ответов? Если нет, 
тогда какой формат и почему?

1.2. Мы хотим возможность заранее сконфигурировать будущую установку без 
инсталлятора в GUI, т.е. отдельную программу в установленной системе, 
создающую файл ответов? Например, как часть будущего конфигуратора.

1.3. Как не повторить ошибок, из-за которых модули установщика и разных 
фронтэндов конфигуратора нельзя использовать во всех окружениях? Другими 
словами: насколько вообще нужно делать часть конфигуратора 
интегрированной в установщик? Может, пусть установщик разворачивает, а 
конфигуратор конфигурирует?

1.4. Разве вебовский UI/UX сейчас не приоритетней? Его давно не проблема 
встраивать в толстые приложения. И хотя этот подпункт скорее про 
конфигуратор, учитывая 1.2 и 1.3, вопрос звучит так: нам интересней 
ограничиться фронтэндом на guile, в т.ч. и дальше заниматься его 
поддержкой, или же интересней использовать простой декларативный язык 
UI/UX или даже готовую рисовалку интерфейсов на декларативном языке?


> 2. Сценарий автоустановки состоит из секций конфигураций, соответствующих бекенду. Если бекенд не доступен, секция конфига пропускается

Поскольку тут одни неизвестные, я это пока не буду комментировать.


> 3. Один и тот же сценарий автоустановки может использоваться для установки и запуска настройки первого запуска,

Возможно тут есть противоречие с п.7, зависит от того, насколько 
"необязательно". Но главное, конечно, это что настройка первого запуска 
-- другое приложение, выполняющееся в другом окружении уже установленной 
ОС. Если это то же приложение (Installer 2.0), то запускаемое в 
окружении установленной ОС с ключом --firsttime, при котором просто 
жёстко пропускается часть шагов. И это лучше, чем как сейчас дублировать 
код в разных пакетах.

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


> так как в инсталляторе и установленной системе разный набор бекендов (в установленной системе точно нет модуля разбивки диска).

И поэтому для форматирования флешек используется rosa-imagewriter, для 
работы с имеющимися разделами -- gnome-disk-utility, и т.д. Как раз к 
вопросу 1.3.


> 4. После того, как выполнена конфигурация и нажата кнопка установить (при настройке первого запуска - это Применить), происходит автоустановка. В графическом режиме процесс автоустановки визуализируется отдельным шагом "Установка", а в режиме автоустановки графический интерфейс не запускается и процесс визуализируется текстовыми сообщениями о выполненных операциях.
>
> 5. Установка разделена на две части: собственно установка и настройка при первом запуске.
>
> 5.1 Настройки установки
>
> [...]
>
> 5.2 Настройки первого запуска
>
> [...]
>
> 6. Настройка первого запуска является опциональной
>
> 7. Настройки из пунктов 5.1.1-5.1.7 *необязательно* выполнять при установке, если будет выполняться настройка первого запуска
>
> 8. Настройки выполняются параллельно
>
> 9. Первоначальной задачей является создание Настройки первого запуска (новый alterator-setup), для которой не нужно делать две наиболее технологически сложных части: разбивка диска и собственно установку, но можно реализовать поддержку создания и выполнения kickstart-файла.
>
> Предлагаю для начала определиться корректны изложенные тезисы или нет.
>

-- 
WBR, Leonid Krivoshein.



  parent reply	other threads:[~2024-10-09  1:40 UTC|newest]

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-08 13:43 [devel-distro] Тезисы для инсталлятора на базе альтератор 2.0 Антон Мидюков
2024-10-08 23:13 ` [devel-distro] " Leonid Krivoshein
2024-10-08 23:29 ` [devel-distro] Тезисы для инсталлятора " Leonid Krivoshein
2024-10-09  2:13   ` Evgeny Sinelnikov
2024-10-09 21:52     ` Leonid Krivoshein
2024-10-14  7:17       ` [devel-distro] " Sergey V Turchin
2024-10-14 19:57         ` [devel-distro] Интерфейсы " Evgeny Sinelnikov
2024-10-14 21:23           ` Leonid Krivoshein
2024-10-14 21:57             ` Антон Мидюков
2024-10-15  1:11               ` Leonid Krivoshein
2024-10-15  4:49                 ` Anton Farygin
2024-10-15  9:44                   ` Michael Shigorin
2024-10-15 15:05                     ` Denis Medvedev
2024-10-16  0:25                     ` Leonid Krivoshein
2024-10-17  7:22                       ` [devel-distro] " Sergey V Turchin
2024-10-15 19:29                   ` [devel-distro] " Leonid Krivoshein
2024-10-17  7:27                     ` [devel-distro] " Sergey V Turchin
2024-10-18  9:05                       ` [devel-distro] [JT] мировоззренческое по путям развития Michael Shigorin
2024-10-15  5:19             ` [devel-distro] Интерфейсы для инсталлятора на базе альтератор 2.0 Evgeny Sinelnikov
2024-10-15 23:02               ` Leonid Krivoshein
2024-10-15 10:30           ` [devel-distro] инсталятор как краеугольный камень выбора технологического пути Michael Shigorin
2024-10-09  1:40 ` Leonid Krivoshein [this message]
2024-10-09  9:06   ` [devel-distro] Re: Installator 2.0: конфигуратор, создающий kickstart-файл Sergey V Turchin
2024-10-09 19:46     ` [devel-distro] " Leonid Krivoshein
2024-10-10 19:29       ` [devel-distro] про API и фронтэнды Leonid Krivoshein
2024-10-10 23:27         ` Антон Мидюков
2024-10-11  0:33           ` Leonid Krivoshein
2024-10-14  7:27         ` Sergey V Turchin
2024-10-15  4:59           ` [devel-distro] Веб-браузер в инсталляторе или для инсталлятора? Evgeny Sinelnikov
2024-10-15  5:53             ` Антон Мидюков
2024-10-15 20:53             ` Leonid Krivoshein
2024-10-18  9:25               ` Michael Shigorin
2024-10-14  7:22       ` [devel-distro] Re: Installator 2.0: конфигуратор, создающий kickstart-файл Sergey V Turchin
2024-10-14 19:58         ` [devel-distro] " Leonid Krivoshein
2024-10-15  4:52           ` Anton Farygin
2024-10-15 19:30             ` Leonid Krivoshein
2024-10-15  6:33           ` [devel-distro] " Sergey V Turchin
2024-10-17  7:32             ` [devel-distro] " Sergey V Turchin
2024-10-17  7:49               ` [devel-distro] " Антон Мидюков
2024-10-17  8:44                 ` [devel-distro] " Sergey V Turchin
2024-10-18  8:56               ` [devel-distro] qtbrowser vs wasm Michael Shigorin
2024-10-15 10:03           ` [devel-distro] [JT] Re: Installator 2.0: конфигуратор, создающий kickstart-файл Michael Shigorin
2024-10-15 23:49             ` Leonid Krivoshein
2024-10-16  8:52               ` Michael Shigorin
2024-10-14  7:43       ` [devel-distro] " Sergey V Turchin
2024-10-14 10:54         ` [devel-distro] " Sergey V Turchin
2024-10-09  9:49   ` [devel-distro] " Alexey Gladkov
2024-10-09 19:54     ` Leonid Krivoshein
2024-10-10  9:10       ` Alexey Gladkov
2024-10-10 12:21         ` Leonid Krivoshein
2024-10-10 14:31           ` Alexey Gladkov
2024-10-09  6:19 ` [devel-distro] Тезисы для инсталлятора на базе альтератор 2.0 Ivan A. Melnikov
2024-10-09  7:21   ` Антон Мидюков
2024-10-09  9:21   ` [devel-distro] " Sergey V Turchin
2024-10-09 13:08     ` [devel-distro] " Leonid Krivoshein
2024-10-09 13:56       ` [devel-distro] о голосовом управлении (was: Тезисы для инст, альтератор 2.0) Arseny Maslennikov
2024-10-10  8:11         ` [devel-distro] о голосовом управлении Антон Мидюков
2024-10-14  7:33       ` [devel-distro] Re: Тезисы для инсталлятора на базе альтератор 2.0 Sergey V Turchin
2024-10-09 22:08   ` [devel-distro] " Leonid Krivoshein
2024-10-10  1:01     ` [devel-distro] Пример файла разметки и описания Leonid Krivoshein
2024-10-10  8:54       ` Антон Мидюков
2024-10-10  5:26     ` [devel-distro] Тезисы для инсталлятора на базе альтератор 2.0 Антон Мидюков
2024-10-10 10:29       ` Leonid Krivoshein
2024-10-14  4:58 ` [devel-distro] Тезисы для инсталлятора на базе альтератор 2.0 (промежуточный итог) Антон Мидюков
2024-10-14 18:59   ` Leonid Krivoshein

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1d1b88b2-ad28-4463-b42f-9b37fcab6e01@gmail.com \
    --to=klark.devel@gmail.com \
    --cc=devel-distro@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Distributions development

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel-distro/0 devel-distro/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel-distro devel-distro/ http://lore.altlinux.org/devel-distro \
		devel-distro@lists.altlinux.org devel-distro@lists.altlinux.ru devel-distro@lists.altlinux.com
	public-inbox-index devel-distro

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel-distro


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git