ALT Linux Sisyphus discussions
 help / color / mirror / Atom feed
* [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