* [sisyphus] systemd и зависимость сервисов
@ 2012-09-20 14:30 Sergei Epiphanov
2012-09-20 14:43 ` Alexey Shabalin
0 siblings, 1 reply; 3+ messages in thread
From: Sergei Epiphanov @ 2012-09-20 14:30 UTC (permalink / raw)
To: sisyphus
Что-то я никак не пойму. Есть 2 файла сервисов, в которых прописаны
зависимости одного относительно другого. Эти зависимости отрабатываются при
старте системы (внешне похоже на это), а при наборе команды 'systemctl start
second.service' почему-то не поднимается сервис first.service. Аналогично
команда 'systemctl stop first.service' почему-то не останавливает
second.service
first.service:
[Unit]
Before=second.service
second.service:
[Unit]
After=first.service
Почему такая несправедливость? systemd-189-alt3.
--
С уважением, Епифанов Сергей
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [sisyphus] systemd и зависимость сервисов
2012-09-20 14:30 [sisyphus] systemd и зависимость сервисов Sergei Epiphanov
@ 2012-09-20 14:43 ` Alexey Shabalin
2012-09-21 6:28 ` Sergei Epiphanov
0 siblings, 1 reply; 3+ messages in thread
From: Alexey Shabalin @ 2012-09-20 14:43 UTC (permalink / raw)
To: ALT Linux Sisyphus discussions
20 сентября 2012 г., 18:30 пользователь Sergei Epiphanov
<serpiph@nikiet.ru> написал:
> Что-то я никак не пойму. Есть 2 файла сервисов, в которых прописаны
> зависимости одного относительно другого. Эти зависимости отрабатываются при
> старте системы (внешне похоже на это), а при наборе команды 'systemctl start
> second.service' почему-то не поднимается сервис first.service. Аналогично
> команда 'systemctl stop first.service' почему-то не останавливает
> second.service
>
> first.service:
> [Unit]
> Before=second.service
>
> second.service:
> [Unit]
> After=first.service
>
> Почему такая несправедливость? systemd-189-alt3.
After/Befor - только указывает порядок. "мягкие" зависимости.
Почитайте man systemd.unit на предмет Requires, Wants, PartOf
если сервисы так зависят друг от друга, желательно в секцию [Install]
добавить WantedBy=, RequiredBy=
--
Alexey Shabalin
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [sisyphus] systemd и зависимость сервисов
2012-09-20 14:43 ` Alexey Shabalin
@ 2012-09-21 6:28 ` Sergei Epiphanov
0 siblings, 0 replies; 3+ messages in thread
From: Sergei Epiphanov @ 2012-09-21 6:28 UTC (permalink / raw)
To: sisyphus
On 20 сентября 2012 18:43 Alexey Shabalin wrote:
> если сервисы так зависят друг от друга, желательно в секцию [Install]
> добавить WantedBy=, RequiredBy=
Спасибо за наводку. Получается, что зависимости можно задавать несколькими
путями:
1) Requires/Wants в секции Unit для скрытой зависимости;
2) RequiedBy/WantedBy в секции Install для явной зависимости;
3) ручным созданием симлинков в каталоге с именем файла сервиса и суффиксом
.wants/.requires.
Но что делать, если политика требует копирования сервис-файла из
/lib/systemd/system в /etc/systemd/system перед любой его правкой? А это
приходится делать из-за того, что в 90% случаев нужно дополнительно вписывать
Before/After в сам файл (больше некуда), а после обновления пакета сервис-файл
от старой версии может привести к неработоспособности новой версии демона.
Впору делать подкаталоги <имя сервис-файла>.after/ и <имя сервис-
файла>.before/ по аналогии с .wants/.requires. Тогда порядок запуска будет
отвязан и не помешают нормальному обновлению пакетов в дистрибутиве.
Я к тому, что .wants/.requires - это лишь половина порядка запуска.
--
С уважением, Епифанов Сергей
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2012-09-21 6:28 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-09-20 14:30 [sisyphus] systemd и зависимость сервисов Sergei Epiphanov
2012-09-20 14:43 ` Alexey Shabalin
2012-09-21 6:28 ` Sergei Epiphanov
ALT Linux Sisyphus discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \
sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru
public-inbox-index sisyphus
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.sisyphus
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git