From: Leonid Krivoshein <klark.devel@gmail.com> To: devel-distro@lists.altlinux.org Subject: Re: [devel-distro] Тезисы для инсталлятора на базе альтератор 2.0 Date: Thu, 10 Oct 2024 00:52:00 +0300 Message-ID: <3cb9b945-2e78-4a53-a142-66054c0d9b9a@gmail.com> (raw) In-Reply-To: <CAK42-GrcRVCYUsgMrydPxaJhPn3g2p2XmveOEBzggqXDjgUc_A@mail.gmail.com> On 10/9/24 05:13, Evgeny Sinelnikov wrote: > Здравствуйте. > > ср, 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 системы к их расширению. Наш установщик давно перешёл на systemd? У нас все установочные образы на systemd? Чего нам в установщике нужно от systemd, дёргая его исключительно через dbus? > Например, очень странно только из-под-рута уметь запускать через > unix-socket shell-скрипт, который выполняет systemctl, который в свою > очередь обращается к dbus, вместо того, чтобы напрямую обращаться к > интерфейсу org.freedesktop.systemd1.Manager. Команда systemctl на шеле -- одна строка. Мы готовы обучать детей и внуков механизму работы с dbus на Си, вместо того, чтобы сделать их счастливыми? :-) > Чтобы увидеть перечень методов достаточно набрать и "потабать": > $ busctl call org.freedesktop.systemd1 /org/freedesktop/systemd1 > org.freedesktop.systemd1.Manager > > Впрочем "потабать" можно всё. Это называется интроспекция. В некоторых > случаях её скрывают, но это детали и особенности реализации. Горячо поддерживаю интроспекцию, наследование, полиморфизм и повторную реализацию. :-) Но не думаю, что первое необходимо для всего и вся в установщике. > Технологически мы движемся: > 3) от не соответствующего потребностям автоустановки autoinstall.scm к > формату, который нужно определить, зафиксировать (специфицировать) и Да. > реализовать "движок" инсталлятора с учётом возможностей бекендов - > доступных методов и интерфейсов на dbus. И туда же (в музей мазохизма) я бы отправил движок альтератора. Вообще всё, что на scheme. Как слишком сложно поддерживаемое и несоответствующие тому, к чему мы хотим двигаться. Креативная команда должна генерить несколько десятков модулей конфигуратора в месяц, по мере роста хотелок со всех сторон. Вот какая цель должна быть декларирована -- простота создания новых модулей, простота их поддержки, а не усложнение. > 4) мы движемся от отсутствия API для администрирования к его > оформлению для всех механизмов ОС, которым необходимо повышение > привилегий. Существуют и другие способы, не требующие манипулировать API. > 5) мы движемся от строгой технической необходимости реализовывать > фронтэнды вместе с бекендами к возможности (например, по аналогии с > NetworkManager) реализации множества фронтендов под соответствующие > среды исполнения (графические, консольные, любые). Например, с помощью > новых бекендов на базе alterator-manager можно расширять возможности > уже применяемого на практике cockpit (но, это при желании): > - https://cockpit-project.org/applications + https://pub.dev/ -- сюда же. Если использование описанного через dbus -- цель полезная, просто ради переиспользования множества уже готовых наработок, то усложнять ещё и умножением бекендов и фронтендов -- напротив, цель сомнительная. У нас два фронтенда уже в полном рассинхроне, хотя цели нынешнего альтератора декларировались те же. > 6) мы движемся от сценария один, бекенд один фронтенд к сценариям: > + один бекенд, множество разных реализаций фронтендов; > + один фронтенд, множество разных бекендов, реализующих один и тот же > интерфейс на разных объектах шины dbus. > > Оба сценария уже активно задействованы в существующих наработках. > Ключевые детали по текущим наработкам опубликованы у нас на wiki: > - https://www.altlinux.org/Alterator_на_D-Bus Почитал это и смежное про Alterator-manager, что дополнило мой немного критический взгляд. У нас не все дистрибутивы завязаны на dconf/gsettings. Не все установщики работают с systemd. Наработки по групповым политикам, компетенция по работе с dbus не пропадут даром. Делать же это концептуальным стержнем я бы точно не стал. В копилку плюсов dbus&Co: https://events.canonical.com/event/2/contributions/48/attachments/34/49/Flutter%20on%20Linux.pdf , стр. 7. И даже установщик там это использует (Ubuntu Desktop Installer). Но стоит учесть, что это одна вполне конкретная среда, у нас же решения разные. > ___________________ > > На текущий момент важно ввести уровень абстракции инсталлятора, как > расширенного приложения исполняющего пошаговую "инструкцию", > использующую специфицированный формат. Выбором этого формата > необходимо заняться в первую очередь. Мне кажется, сначала нужно решить, будет ли установщик связан с конфигуратором или нет. Если будет, то каким форматом данных будет манипулировать конфигуратор? Мы для установщика определяем конфигурацию решения, установщик её натягивает на устанавливаемое. А конфигуратором мы раскидываем её по 100500 машин домена. > Один из вариантов взять вот этот для вдохновения и (может быть, совместимости): > - 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). Тщетно пытался отделить обсуждение конфигуратора от установщика. Тут всё слилось обратно в единое целое. В тесном связывании этих двух разных программ есть плюсы и минусы. Может, обсудить тогда уж их сначала? Но фичи их точно нужно обсуждать в отдельных тредах. И если решать в пользу тесного связывания, то отложить пока обсуждение установщика. -- WBR, Leonid Krivoshein.
next prev parent reply other threads:[~2024-10-09 21:52 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 2024-10-09 21:52 ` Leonid Krivoshein [this message] 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=3cb9b945-2e78-4a53-a142-66054c0d9b9a@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