[devel] Q: Имя макроса для отложенного перезапуска сервисов
Mikhail Novosyolov
mikhailnov на altlinux.org
Пн Дек 20 19:50:05 MSK 2021
14.09.2021 23:51, Leonid Krivoshein пишет:
>
> 14.09.2021 21:18, Vladimir D. Seleznev пишет:
>> Hi!
>>
>> Есть необходимость в отложенном перезапуске некоторых сервисов после
>> обновления пакетов, для этих целей я решил придумать новый макрос
>> (унифицированный для sysv и sd). Цель — сообщить rpm'у, что после
>> завершения транзакции
>
> Надо сначала договориться, что здесь называть "завершением транзакции". Потому что пачка пакетов -- это ещё не всегда та транзакция, после которой надо чего-то перезапустить. Часто инсталлятор ставит систему для systemd сам находясь в окружении sysv. Чего бы хотелось от rpm реально: отложить до "момента X" необходимость отработки разных стадий (будь то файл-триггеры, пост-установочные скрипты, перезапуск служб). А "момент X" должен наступать при запуске rpm с соответствующими ключиками -- вот это и есть "завершение транзакции".
>
> В качестве пояснения: и инсталлятор, и m-p делает транзакции в понимании rpm мелкогранулированными, это на самом деле тот подходящий момент, когда надо чего-то запускать или менять. Или, допустим, я готовлю скелет файловой системы в безопасном чруте или даже на "чужой" архитектуре, мне не надо, чтобы отрабатывал код из %post до тех пор, пока эта эта вся подготовленная система не окажется на реальном железе. Уж простите меня, старого дебианщика.))
Вы изобрели почти zypper - набор костыликов поверх rpm ))
Правильнее стремиться к крупной транзакции, в которой бы rpm сам разобрался, что и когда сделать.
Подробная информация о списке рассылки Devel