[devel] systemd-215

Денис Смирнов mithraen на freesource.info
Вт Авг 5 02:02:31 MSK 2014


On Tue, Aug 05, 2014 at 01:19:04AM +0400, Alexey Shabalin wrote:

>> ldconfig.service нужен только в случае отсутствия ld.so.cache. Во всех
>> иных случаях у нас этим занимаются filetrigger'ы. Так что ему вместо
>> ConfigtionNeedsUpdate нужно проверять отсутствие /etc/ld.so.cache.
> Этот сервис тоже предназначен только для первого запуска системы.

Если бы это было так, там было бы вместо:

ConditionNeedsUpdate=/etc

написано:

ConditionPathExists=!/etc/ld.so.cache

Собственно это изменение я и предлагаю сделать.

ConfigtionNeedsUpdate работает сравнением mtime у /usr и /etc/.updated.

Эта фича у нас работать не будет вообще, если только rpm не далет touch на
/usr после любого обновления. И суть её именно в том, чтобы модифицировать
/etc после обновления содержимого /usr.

Для ситуации с пустым /etc вполне достаточно пачки сервисов с
CondigtionPathExists.

>> systemd-sysusers требует отдельного разбирательства -- для  практического
>> использования в дистрибутивах потребуется отпилить её в отдельный пакет,
>> дабы от нее был прок и для SYSV-based дистрибутивов. И потребуется участие
>> мантейнеров пакетов для её использования. И, кстати, она работоспособна с
>> tcb?
> shadow никак не затрагиваются, для свеже сгенерированой  системы нужны
> только passwd и groups.

Надо уточнить у ldv@ так ли это. Ибо для системных пользователей я таки
вижу соответствующие каталоги в /etc/tcb.

>> Что делают остальные сервисы?
> Все эти сервисы, грубо говоря, нужны при пустом /etc.

Однако работают они отнюдь не только при пустом /etc ;)

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

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

>>> - вырезать это в отдельный пакет
>> systemd-sysusers однозначно стоит -- ибо его активное использование
>> в пакетах потребует его ставить и запускать и в sysv-based системах.
> Пока склоняюсь к мысли все (ldconfig.service, systemd-users и остальное)
> вырезать в отдельный пакет. Имя какое придумать? systemd-stateless?

1. Не просто вырезать, а все же модифицировать под наши реалии. Потому как
ldconfig с ConditionNeedsUpdate у нас (где есть файлтриггеры
соответствющие) попросту нафиг не нужен. Он нужен _только_ при пустом
/etc, а значит нужно использовать ConditionPathExists.

2. systemd-sysusers либо отпилить нафиг в systemd-stateless и забить (но
тогда он будет абсолютно бесполезен -- ибо некому для него будет создавать
конфиги). Либо поместить его в systemd-utils, ибо этот инструмент не
зависит от используемой системы инициализации.

Соответственно можно будет обсудить использование его, точно также как и в
Fedora, вместо adduser/addgroup в спеках.

>> P.S. Кстати о. Работа этих фич требует еще чтобы наш rpm делал touch на
>> /usr после любых изменений.
> Это если оригинальные конфиги будут хранится в /usr ? И переноситься в /etc
> ?

А вся концепция подразумевает именно это.

-- 
С уважением, Денис

http://mithraen.ru/
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 181 байтов
Описание: Digital signature
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20140805/11da19d4/attachment.bin>


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