ALT Linux Distributions development
 help / color / mirror / Atom feed
From: Evgeny Sinelnikov <sin@altlinux.org>
To: Distributions development <devel-distro@lists.altlinux.org>
Subject: Re: [devel-distro] Тезисы для инсталлятора на базе альтератор 2.0
Date: Wed, 9 Oct 2024 06:13:40 +0400
Message-ID: <CAK42-GrcRVCYUsgMrydPxaJhPn3g2p2XmveOEBzggqXDjgUc_A@mail.gmail.com> (raw)
In-Reply-To: <f2b5317a-32f5-4bca-9581-a0291ea6e7c2@gmail.com>

Здравствуйте.

ср, 9 окт. 2024 г. в 03:29, Leonid Krivoshein <klark.devel@gmail.com>:
> On 10/8/24 16:43, Антон Мидюков wrote:
> > Доброго времени суток
> >
> > Три недели назад обсуждали в составе: sin@ cas@ sem@ shaba@ antohami@, каким должен быть новый инсталлятор на базе альтератор 2.0.
> >
> > По результатам обсуждения я сформулировал следующие тезисы:
> > [...]
>
> На мой взгляд, вот до этого пункта:
>
> > 9. Первоначальной задачей является создание Настройки первого запуска (новый alterator-setup), для которой не нужно делать две наиболее технологически сложных части: разбивка диска и собственно установку, но можно реализовать поддержку создания и выполнения kickstart-файла.
> >
> > Предлагаю для начала определиться корректны изложенные тезисы или нет.
>
> ...именно как тезисы -- нет, но перечисленное тоже можно обсудить. Нет,
> потому что начинать стоит с того: от чего, к чему и почему мы движемся,
> это даст определённые критерии оценки. А многое из перечисленного --
> детали повторной реализации того, что уже есть.

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

В том виде, как сейчас, затруднительно делать многое. Большую часть
того, к чему мы движемся осуществить невозможно без полной
переработки.

Технологически мы движемся:
1) от службы alteratord на базе woo-bus к службе alterator-manager на базе dbus.
2) от дублирования механизмов, встроенных в современные
GNU/Linux/Systemd системы к их расширению.

Например, очень странно только из-под-рута уметь запускать через
unix-socket shell-скрипт, который выполняет systemctl, который в свою
очередь обращается к dbus, вместо того, чтобы напрямую обращаться к
интерфейсу org.freedesktop.systemd1.Manager.

Чтобы увидеть перечень методов достаточно набрать и "потабать":
$ busctl call org.freedesktop.systemd1 /org/freedesktop/systemd1
org.freedesktop.systemd1.Manager

Впрочем "потабать" можно всё. Это называется интроспекция. В некоторых
случаях её скрывают, но это детали и особенности реализации.

Технологически мы движемся:
3) от не соответствующего потребностям автоустановки autoinstall.scm к
формату, который нужно определить, зафиксировать (специфицировать) и
реализовать "движок" инсталлятора с учётом возможностей бекендов -
доступных методов и интерфейсов на dbus.
4) мы движемся от отсутствия API для администрирования к его
оформлению для всех механизмов ОС, которым необходимо повышение
привилегий.

5) мы движемся от строгой технической необходимости реализовывать
фронтэнды вместе с бекендами к возможности (например, по аналогии с
NetworkManager) реализации множества фронтендов под соответствующие
среды исполнения (графические, консольные, любые). Например, с помощью
новых бекендов на базе alterator-manager можно расширять возможности
уже применяемого на практике cockpit (но, это при желании):
- https://cockpit-project.org/applications

6) мы движемся от сценария один, бекенд один фронтенд к сценариям:
+ один бекенд, множество разных реализаций фронтендов;
+ один фронтенд, множество разных бекендов, реализующих один и тот же
интерфейс на разных объектах шины dbus.

Оба сценария уже активно задействованы в существующих наработках.
Ключевые детали по текущим наработкам опубликованы у нас на wiki:
- https://www.altlinux.org/Alterator_на_D-Bus


___________________

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

Один из вариантов взять вот этот для вдохновения и (может быть, совместимости):
- https://docs.fedoraproject.org/en-US/fedora/f36/install-guide/appendixes/Kickstart_Syntax_Reference/
- https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/automatically_installing_rhel/kickstart-commands-and-options-reference_rhel-installer
- https://pykickstart.readthedocs.io/en/latest/kickstart-docs.html
- https://rhinstaller.github.io/anaconda-addon-development-guide/sect-anaconda-addon-architecture.html

И далее, постепенно, реализовать на его основе своё подмножество. Не
хотелось бы брать anaconda. Хотя... если делать эту часть на python,
то что-то форкнуть, урезать и переписать под себя - вариант.
Вообще, конечно, один в один оно достаточно тяжелое. Главное - формат:
Есть ли технический смысл брать kickstart за основу?

Мне кажется, что в этом формате, как минимум, проведён теханализ
потребностей инсталлятора. Хотя бы к ним стоит присмотреться.


___________________________

PS: Последней, требующей внимание особого внимания особенностью
реализации нового стека на dbus, которая ещё только предстоит,
является переход от пространства имён /ru/basealt/alterator к
пространству /org/altlinux/alterator (от ru.basealt.alterator к
org.altlinux.alterator).


-- 
Sin (Sinelnikov Evgeny)

  reply	other threads:[~2024-10-09  2:13 UTC|newest]

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-08 13:43 Антон Мидюков
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 [this message]
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
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=CAK42-GrcRVCYUsgMrydPxaJhPn3g2p2XmveOEBzggqXDjgUc_A@mail.gmail.com \
    --to=sin@altlinux.org \
    --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