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: Thu, 10 Oct 2024 15:21:06 +0300
Message-ID: <56bc1e9d-70d6-4a14-91a0-97fa34ac1f0a@gmail.com> (raw)
In-Reply-To: <ZweZ6WZtfp2qgDEd@example.org>


On 10/10/24 12:10, Alexey Gladkov wrote:
> On Wed, Oct 09, 2024 at 10:54:03PM +0300, Leonid Krivoshein wrote:
>> On 10/9/24 12:49, Alexey Gladkov wrote:
>>> On Wed, Oct 09, 2024 at 04:40:37AM +0300, Leonid Krivoshein wrote:
>>>> При этом kickstart уже известен и хорошо понятен рынку, только в этом
>>>> его плюс при полной совместимости, которая, скорее всего, недостижима.
>>>> Чтобы не быть голословным, сравните покрытое этой фичей:
>>>> https://github.com/osboot/make-initrd/tree/master/features/kickstart с
>>>> тем, что предлагает офдок RedHad по Kickstart. А без полной
>>>> совместимости ремейк этого старья 20-летней давности теряет смысл.
>>> Ага. Вот только при создании этой фичи никогда не ставилась задача сделать
>>> полное покрытие.
>> Это понятно. И хорошо, что у нас есть хоть какой-то kickstart в
>> make-initrd для разбивки диска и развёртывания без вопросов прямо из
>> stage1. Автоустановщику не требуется графика. Просто напомнил о такой
>> возможности.
> Ты просто сформировал тезис, что без полной совместимости это теряет
> смысл.

Да, это так.


> Я с этим не согласен.

Но у нас другие реалии.

>>> Кроме того, это полное покрытие вам и не требуется.
>> Нам то нет, но для пользователей не полный набор уже не будет привычным
>> и пригодным (с их-то наработками), нас этими запросами просто задолбают.
> Я такие аргументы слышу много лет. Откуда ты это знаешь ?

Последние годы по работе в техподдержке и совместимости. Условно можно 
считать, что если у заказчика его ks-файл выполняет всё в соответствии с 
ожиданиями на CentOS, РедОС, RHEL и в множестве основанных на RedHat 
дистрибутивов, а у нас это не работает, мы оказываемся в пролёте. Нам 
проще сказать, что здесь у нас не RedHat.


> За время существования kickstart redhat его менял и продолжает это делать.
> Он конечно старается не ломать сам синтаксис, но функционал команд и опций
> у них меняется.
>
> https://pykickstart.readthedocs.io/en/latest/kickstart-docs.html#creating-the-kickstart-file
>
> Можешь поискать "Deprecated since" или "Removed in version" по этому
> документу.
>
> Представление о том, что kickstart-файл 10 летней давности применится без
> проблем это миф. Тебе в любом случае нужно проверять не устарели ли твои
> команды и опции в нём. Разумеется это относится к разным командам в разной
> степени (разбивка диска меняется реже).
>
> Цитирую их официальную документацию:
>
>    If deprecated commands, options, or syntax are used during a kickstart
>    installation, a warning message will be logged to the anaconda log.
>    Since deprecated items are usually removed within a release or two, it
>    makes sense to check the installation log to make sure you haven’t
>    used any of them. When using ksvalidator, deprecated items will cause
>    an error.

Возможности продукта меняются в ногу со временем, он эволюционирует, это 
понятно. Но это всё относительно локальные, точечные изменения для 
продукта и всего поддерживающего его инфраструктуру. Нам же нужно пройти 
повторно 20-летний путь, чтобы воссоздать чужой продукт и всю 
инфраструктуру вокруг, при том, что всё это концептуально ущербно.

Когда его придумали, это был привычный подход к командам и ключам в 
командной строке. Это команды и опции для конкретной безмолвной 
развёртывалки системы. Это не команды и опции для вызываемых ею 
программ. Потеря семантики, требующая интерпретации и отдельного 
документирования. Это синтаксис конкретной развёртывалки, а не 
конфигурационная база центра управления системой.

>> Поэтому поддержка конкретного формата kickstart в установщике не нужна.
> Я ещё с Server 4 последовательно выступаю против того чтобы городить "свои
> правильные" форматы кикстартера. Их сложно изучать, их никто не описывает,
> для них нет примеров.

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

autopart [--encrypted] [--passphrase PASSPHRASE] [--escrowcert <url>]
      [--backuppassphrase] [--nolvm] [--type TYPE] [--cipher CIPHER]
      [--fstype FSTYPE] [--nohome] [--noboot] [--noswap]
      [--luks-version LUKS_VERSION] [--pbkdf PBKDF]
      [--pbkdf-memory PBKDF_MEMORY] [--pbkdf-time PBKDF_TIME]
      [--pbkdf-iterations PBKDF_ITERATIONS] [--hibernation]
      [--hw-passphrase HW_PASSPHRASE]


> Именно поддержка конкретного формата kickstart позволяет сделать
> кикстартер узнаваемым и привычным пользователю.

Нам-то какой смысл делать его узнаваемым?


> Я знаю компании, у которых
> есть (может быть уже нет) генераторы для redhat kickstarter. В них проще
> добавить костыль для другой реализации, чем писать новый генератор.

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

Мы от RedHat унаследовали отсутствие стройной системы конфигурирования. 
В Debian и based есть debconf и dpkg-reconfigure, решающие задачу 
управления конфигурацией пакетов отдельно от пакетной базы, делающие 
возможным использовать один и тот же пакет в разных конфигурациях или 
менять его настройки через фронтэнды, не внося порчу в целостность 
системы. Установщик Debian -- это набор вызовов dpkg-reconfigure.

И наш текущий конфигуратор (альтератор) ничего такого не предоставляет. 
У каждого модуля есть что-то где-то своё. И у RedHat изначально был 
только /etc/sysconfig со значимыми переменными конфигурации для 
стартовых скриптов, и множество пакетов system-config-SOMETHING, в 
какой-то степени аналог наших модулей альтератора, 
system-config-kickstart -- один из таких модулей, позволяющий 
сгенерировать ks-файл для безмолвной развёртывалки.


-- 
WBR, Leonid Krivoshein.



  reply	other threads:[~2024-10-10 12:21 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 ` [devel-distro] Installator 2.0: конфигуратор, создающий kickstart-файл Leonid Krivoshein
2024-10-09  9:06   ` [devel-distro] " 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 [this message]
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=56bc1e9d-70d6-4a14-91a0-97fa34ac1f0a@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