[devel] Поддержка systemd в post/preun_service скриптах
Dmitry V. Levin
ldv на altlinux.org
Чт Фев 7 02:48:49 MSK 2013
On Wed, Feb 06, 2013 at 08:44:15PM +0400, Alexey Shabalin wrote:
> 5 февраля 2013 г., 4:14 пользователь Dmitry V. Levin написал:
> > On Mon, Feb 04, 2013 at 04:35:26PM +0400, Alexey Shabalin wrote:
> >> 4 февраля 2013 г., 16:29 пользователь Pavel Shilovsky написал:
> >> > 4 февраля 2013 г., 16:11 пользователь Alexey Shabalin написал:
> >> >> 4 февраля 2013 г., 16:02 пользователь Pavel Shilovsky написал:
> >> >>> Добрый день!
> >> >>>
> >> >>> Сейчас работаю над поддержкой и systemd и sysvinit в спеках OpenStack
> >> >>> (сейчас там жёстко пробито использование systemd, что делалось на
> >> >>> скорую руку). Обнаружил, что для нормальной поддержки обеих систем не
> >> >>> хватает того, что скрипты post_service и preun_service умели понимать,
> >> >>> что система работает с systemd и вызывали соответствующие команды.
> >> >>> Нашёл багу, где аналогичное уже сделано для скрипта service:
> >> >>> https://bugzilla.altlinux.org/show_bug.cgi?id=24989
> >> >>
> >> >> Если Вы заметили, то баг закрыт, т.е. исправлен.
> >> >> Больше ничего делать не надо.
> >> >> service умеет понимать, зачем этому же учить post/preun_service?
> >> >
> >> > Скрипты post/preun_service вызывают помимо service команду chckonfig.
> >> chkconfig тоже обучен работе с systemd. сервисы успешно регистрируются.
> >
> > Обучить post/preun_service по аналогии с service все равно нужно для того,
> > чтобы проще было поддерживать сервисы, в которых есть service-файлы и
> > уже нет init-скриптов. Но это надо сделать более тонко, чем в
> > вышеупомянутом патче.
>
> В общем да. Существуют такие dbus-сервисы (например
> accounts-daemon.service) для которых нет init-скрипта, но которые не
> мешало бы рестартовать при systemd.
>
> >
> >> Другое дело, что они по умолчанию в ALTLinux не включаются.
> >
> > Хорошо бы запаковать каталоги, описанные в systemd.preset(5), а также
> > /lib/systemd/system-preset/99-default.preset оттуда же.
> Я упаковал пока федорину копию /lib/systemd/system-preset/90-default.preset
Что-то там уж больно много всякой всячины разрешено.
И федоризмы остались, такие как atd (у нас atd встроен в crond).
> Теперь нужно ещё добавить вызовы systemctl preset.
Вот прямо в post_service его и надо будет вставить.
> Я пока не пакую никаких макросов для rpm.
> Надо придумать куда лучше их вставить:
> http://cgit.freedesktop.org/systemd/systemd/tree/src/core/macros.systemd.in
По идее, после доработки {post,preun}_service нам будет достаточно
нынешних %{post,preun}_service.
Насколько я понимаю, в случае sd_booted реализация post_service должна
делать примерно то же, что %systemd_post и %systemd_postun_with_restart
вместе взятые, в preun_service - примерно то же, что %systemd_preun.
--
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : отсутствует
Тип : application/pgp-signature
Размер : 198 байтов
Описание: отсутствует
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20130207/8f0330f9/attachment-0001.bin>
Подробная информация о списке рассылки Devel