[devel] Q: Имя макроса для отложенного перезапуска сервисов
Dmitry V. Levin
ldv на altlinux.org
Ср Сен 15 10:35:59 MSK 2021
On Wed, Sep 15, 2021 at 09:04:03AM +0300, Anton Farygin wrote:
> On 15.09.2021 02:08, Dmitry V. Levin wrote:
> > On Tue, Sep 14, 2021 at 06:18:01PM +0000, Vladimir D. Seleznev wrote:
> >> Hi!
> >>
> >> Есть необходимость в отложенном перезапуске некоторых сервисов после
> >> обновления пакетов,
> > На самом деле планируется завести 2 новых макроса с условными названиями:
> >
> > - %post_service_чтототам: добавляется в %post пакета с сервисом (вместо
> > %post_service) для того, чтобы этому сервису при обновлении был сделан
> > try-restart не сразу в %post, а по окончании транзакции обновления
> > пакетов;
> >
> > - %pre_service: добавляется в %pre пакета с сервисом (вместо %post_service
> > в %post) для того, чтобы этому сервису при обновлении (если он был
> > запущен) был сделан stop в %pre и start по окончании транзакции
> > обновления пакетов (как сейчас сделано в postfix).
>
> Может быть сделать проще и перезапускать все обновлённые сервисы в конце
> транзакции ?
>
> Одним универсальным макросом ?
Если бы все сервисы были бы одинаковыми, то можно было бы сделать проще,
но нет, сервисы разные, одни надо перезапускать сразу, потому что у них во
время работы доступ к файлам из своих пакетов, другие надо перезапускать
по окончании транзакции обновления, потому что у них при старте доступ к
файлам из чужих пакетов (например, к плагинам), которые обновляются позже,
третьи надо останавливать на время обновления, потому что у них во время
работы доступ к файлам из чужих пакетов (например, к плагинам), которые
обновляются позже.
> Ещё с такими макросами начинаются проблемы с приоритетами перезапуска.
В порядке обновления пакетов, внутри пакетов - в порядке вызова макросов,
кроме того, если используется systemd, то там могут что-нибудь
переупорядочить согласно зависимостям сервисов.
--
ldv
Подробная информация о списке рассылки Devel