[devel] I: rpm with sysusers support

Alexey V. Vissarionov gremlin на altlinux.org
Пн Сен 14 17:22:44 MSK 2026


Good ${greeting_time}!

On 2026-09-13 17:21:26 +0300, Arseny Maslennikov wrote:

 > Скоро в сизифе очутится rpm, способный сам регистрировать uid
 > и gid в соответствии с директивами sysusers.d(5) в пакете,
 > что наконец положит начало всеобщей sysuserизации в сизифе.

Надо сделать так, чтобы можно было обойтись без всеобщей.

 > Раньше мейнтейнеры пакетов, чтобы упаковать "системного
 > пользователя" или группу в пакет, были вынуждены дёргать
 > shadow-utils из %pre в пакете, писать для этого %pre-скрипт

Да ну? А что мешало делать это в %post или, еще лучше, отдать
на усмотрение администратора?

 >> +cat > %buildroot%_sysusersdir/tcpdump.conf <<EOConf
 >> +u! tcpdump - "" /dev/null /dev/null
 >> +EOConf

А /dev/null здесь, разумеется, вместо $HOME и шелла?
Голову таким мейнтейнерам оторвать, ибо все равно не пользуются.

 > * Так как пока что у нас нет sysusers-программы с
 > минимизированными зависимостями, от которой мог бы
 > зависеть rpm,

И не надо: rpm вообще ни от чего, кроме библиотек, зависеть не
должен. Вообще никогда и никак. Хочется странного - наоборот,
добавляем странный пакет с зависимостью от rpm.

 > в комплектном macros.in %__sysusers определена в "true".

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

Но лучше обойтись и без этого: кому понадобится дополнительная
функциональность, те поставят дополнительный пакет.

 > В альтовом же platform.in, конфиге дистрорепозитория, взята
 > альтернативо-управляемая ссылка "%_sbindir/systemd-sysusers".

Зачем? Даже если их вдруг будет более одного (вышеописанный
случай "как минимум"), достаточно держать в репе несколько
пакетов с файловым конфликтом - в системе будет установлен
ровно один из них (тот, который нужен администратору).

 > Что в репозитории имеем, то сюда и пишем. У кого нет systemd у
 > тех это будет (будет же?) симлинк на systemd-sysusers.standalone.

Не будет. Как и любых других поделий от разработчиков systemd.
И обрабатывать такую ситуацию следует по принципу "нет - и не надо".

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


-- 
Alexey V. Vissarionov
gremlin ПРИ altlinux ТЧК org; +vii-cmiii-ccxxix-lxxix-xlii
GPG: 0D92F19E1C0DC36E27F61A29CD17E2B43D879005 @ hkp://keys.gnupg.net


Подробная информация о списке рассылки Devel