[devel] Q: Имя макроса для отложенного перезапуска сервисов

Leonid Krivoshein klark.devel на gmail.com
Вт Сен 14 23:51:56 MSK 2021


14.09.2021 21:18, Vladimir D. Seleznev пишет:
> Hi!
>
> Есть необходимость в отложенном перезапуске некоторых сервисов после
> обновления пакетов, для этих целей я решил придумать новый макрос
> (унифицированный для sysv и sd). Цель — сообщить rpm'у, что после
> завершения транзакции

Надо сначала договориться, что здесь называть "завершением транзакции". 
Потому что пачка пакетов -- это ещё не всегда та транзакция, после 
которой надо чего-то перезапустить. Часто инсталлятор ставит систему для 
systemd сам находясь в окружении sysv. Чего бы хотелось от rpm реально: 
отложить до "момента X" необходимость отработки разных стадий (будь то 
файл-триггеры, пост-установочные скрипты, перезапуск служб). А "момент 
X" должен наступать при запуске rpm с соответствующими ключиками -- вот 
это и есть "завершение транзакции".

В качестве пояснения: и инсталлятор, и m-p делает транзакции в понимании 
rpm мелкогранулированными, это на самом деле тот подходящий момент, 
когда надо чего-то запускать или менять. Или, допустим, я готовлю скелет 
файловой системы в безопасном чруте или даже на "чужой" архитектуре, мне 
не надо, чтобы отрабатывал код из %post до тех пор, пока эта эта вся 
подготовленная система не окажется на реальном железе. Уж простите меня, 
старого дебианщика.))


> нужно перезапустить указанные сервисы. Рабочее имя
> этого макроса %post_service_delay (по аналогии с %post_service), но
> возможно оно не самое лучшее.
>
> Вопрос: какое имя для макроса вам кажется более удачным?

-- 
Best regards,
Leonid Krivoshein.



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