[sisyphus] Несовместимости с systemd

Aleksey Avdeev solo на solin.spb.ru
Вт Авг 7 19:31:49 MSK 2012


07.08.2012 19:07, Aleksey Avdeev пишет:
> 07.08.2012 19:03, Alexey Shabalin пишет:
>> 7 августа 2012 г., 18:55 пользователь Aleksey Avdeev написал:
>>> 07.08.2012 18:45, Alexey Shabalin пишет:
>>>> 7 августа 2012 г., 18:37 пользователь Aleksey Avdeev написал:
>>>>> 07.08.2012 17:58, Alexey Shabalin пишет:
>>>>>> 7 августа 2012 г., 16:49 пользователь Aleksey Avdeev написал:
>>>>>>> 04.08.2012 12:42, Alexander Bokovoy пишет:
>>>>>>>> 2012/8/3 Sergei Epiphanov <serpiph на nikiet.ru>:
>>>>>>> ...
>>>>>>>>>
>>>>>>>>> На random наткнулся, когда сравнил вид /var/run под init и под systemd.
>>>>>>>>>
>>>>>>>>> apache2 у меня под systemd банально не поднялся после перезапуска системы.
>>>>>>>> Нужно в пакетах использовать systemd-tmpfiles(8)
>>>>>>>
>>>>>>>   C /var/run/* понятно. А надо ли подобным образом (через файл в
>>>>>>> /etc/tmpfiles.d) каталоги в /var/lock/?
>>>>>> да, конечно надо. кроме subsys и serial
>>>>>
>>>>>   А есть ли у нас общий список каталогов, подкаталоги которых теперь
>>>>> надо в /etc/tmpfiles.d прописывать (т. к. они на tmpfs могут быть)?
>>>>
>>>> только /var/run (т.е /run)  и /var/lock (т.е. /run/lock) на tmpfs.
>>>>
>>>> ну а в /tmp, /dev и др. tmpfs  ни один пакет ничего содержать не должен.
>>>>
>>>> Кстати, не забывайте помечать директории как %ghost в /var/run и /var/lock
>>>
>>>   А кто их тогда должен создавать при установки пакета: некий обработчик
>>> /etc/tmpfiles.d (на базе файлтриггера, например) или нужно %postinstall
>>> рисовать?
>>
>> Я планирую сделать файлтриггер. Хотя это и не совсем правильно, т.к.
>> обработчик надо запускать перед стартом сервиса.
>> А разве %ghost /var/run/foo не спасёт при установке?
> 
>   Пока не знаю. Сейчас буду проверять конструкцию вида:
> 
> %ghost %dir /var/run/foo

  Не работает.

  В тестовой версии condstopstart-common, определил в

%install:

install -d %buildroot%condstopstart_subsysrundir/

%files:

%ghost %attr(755,root,root) %dir %condstopstart_subsysrundir/

  После установки собранного пакета в hasher каталог
%condstopstart_subsysrundir/ небыл создан:

$ ls -lA /tmp/.private/solo/hasher/chroot/var/run/
итого 0
drwxr-xr-x 2 solo_a solo_a 40 Май 12 18:50 kernel
drwxr-xr-x 2 solo_a solo_a 40 Ноя 17  2011 setrans

  Т. е.:

1. Если используется %ghost и каталог может потребоваться до
перезагрузки -- его надо создавать каким либо триггером.

2. Т. к. (на сколько я знаю) у нас нет демонов стартующих сразу после
установки -- создавать каталоги прописанные в /etc/tmpfiles.d.* логичнее
всего файлтриггером: его обработка пройдёт в конце транзакции, до
запуска свежеустановленного демона.

3. Для большинства рестартующих процессов вид триггера не принципиален:
раз процесс уже работает -- значит всё ему нужное уже существует.

4. Тонкое место вижу одно: когда при обновлении начинает требоваться
какой-то новый каталог, которого в предыдущей версии небыло, а триггер
не успел отработать до рестарта.

-- 

С уважением. Алексей.


----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : signature.asc
Тип     : application/pgp-signature
Размер  : 900 байтов
Описание: OpenPGP digital signature
Url     : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20120807/d3abc405/attachment-0001.bin>


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