[devel-distro] installer-feature-* и rootfs

Mikhail Efremov sem at altlinux.org
Fri Dec 6 17:21:46 MSK 2019


On Fri, 6 Dec 2019 17:12:23 +0400 Ivan A. Melnikov wrote:
> Привет.
> 
> Как известно, для одноплатников вроде RPi (и завёрнутых в коробку
> одноплатников вроде Таволги) у нас система поставляется в виде
> образа rootfs и ставится без помощи installer'а.
> 
> Это означает, что на таких системах не отрабатывают пакеты
> installer-feature-*. Мы с jqt4@ посмотрели, что же мы теряем.
> Вот интересные особенности simply, сделанные через
> installer-feature-* и соответсвенно *не* присутсвующие
> в сборках под, например, RPi4:
> 
> - installer-feature-bell-off-stage3 -- выключает bell в X (xset -b,
>   сам всегда так делал)
> - installer-feature-lightdm-stage3 -- настраивает lightdm gtk
>   greeter (появляется индикатор раскладки клавиатуры) и делает первого
>   пользователя выбранным после первой загрузки (маст хев,
>   в alt-workstation-mipsel я делал костыль вместо этой фичи)
> - installer-feature-sudo-enable-by-default-stage3 -- sudo по
>   умолчанию для всех в группе wheel, "как в Ubuntu";
> - installer-feature-symlinks-from-sbin -- симлинки для ip,
>   sysctl, chkconfig, service, blkid, resolvconf, lsusb, lsof
>   в $PATH простого пользователя.

JFYI, https://bugzilla.altlinux.org/37503
Я думаю заменить installer-feature-symlinks-from-sbin на пакет.

> Понятно, что эти фичи хотелось бы видеть на всех платформах,
> под которые мы выпускаем simply.

Я собирался посмотреть в alterator-setup на этот счет еще при выпуске
workstation, но так и не добрался.

> Чтобы не перепиливать всё сразу, предлагается для начала
> сделать что-нибудь для desktop-like сборок, для первоначальной
> настройки которых используется alterator-setup. У него
> есть специальные хуки (setup-postinstall.d), так что можно
> можно после его работы запустить скрипты из installer-feature-*,
> чтобы они донастроили систему.
> 
> Для начала, я реализовал такой хук в отдельном пакете:
> 
> http://git.altlinux.org/people/iv/packages/?p=rootfs-installer-features.git

Да, я как раз думал про такой вариант как самый простой.
Когда-то я делал подобное для alterator-livecd, см.
http://git.altlinux.org/people/sem/packages/?p=livecd-installer-features.git
Вообще надо бы сделать единые хуки для installer, livecd и setup, но
это много работы...

> Он пока проходит обкатку в тестовой таске #242450, первое
> тестирование продемонстрировало его работоспособность.
> 
> Поскольку до совсем недавнего времени я с installer-feature-*
> не сталкивался, хотелось бы услышать от людей, которые в этом
> понимают (если такие есть) какие-то мысли по этому поводу
> и, возможно, code review.

Я посмотрел, помимо хуков initinstall и postinstall есть еще preinstall.
В исталляторе они запускаются так:
initinstall - в самом начале, при запуске инсталлятора.
preinstall - после установки пакетов.
postinstall - в самом конце, после всех шагов исталлятора.
Можно ли все эти хуки запускать просто в setup-postinstall.d в общем
случае неизвестно, зависит от того, что делает конкретная
installer-feature. Например, preinstall-хук может проводить какую-то
подготовительную работу для последующих шагов инсталлятора.

> Как думаете, не стоит ли включить такой хук непосредственно
> в alterator-setup, а не в отдельный пакет?

Лучше отдельный пакет, см. выше. Хуки в installer-feature-* писались
для использования в инсталляторе и могут работать неправильно при таком
нештатном использовании. Т.е. installer-features и
rootfs-installer-features - это грязные хаки, нельзя бездумно
использовать с ними произвольную installer-feature. Всегда нужно
внимательно эту installer-feature прочитать и убедиться, что ее можно
так использовать.

-- 
WBR, Mikhail Efremov


More information about the devel-distro mailing list