Следующий вариант использования: юнит A
и юнит B
требуются цели T
. A
Конфликт юнитов B
. Единица B
запускается до единицы A
. Система загружается в цель T
.
Если я правильно понимаюдокументыправильно, unit A
остановит unit B
в момент его запуска. Я не буду предотвращать B
запуск unit вообще. Мое предположение верно?
решение1
Отвечая на свой собственный вопрос. Я написал простой тест, отражающий мою ситуацию:
# Service B
[Unit]
Description=Hello World Service
#After=systemd-user-sessions.service
[Service]
Type=simple
ExecStart=/bin/sh -c "echo test > /tmp/test && sleep 10"
TimeoutStopSec=30
и
# Service A
[Unit]
Description=Hello World Service
After=B.service
Conflicts=B.service
[Service]
Type=simple
ExecStart=/bin/sh -c "echo test2 > /tmp/test2 && sleep 10"
TimeoutStopSec=30
и
# target T
[Unit]
Description=Foobar boot target
Wants=A.service B.service
В этой ситуации,услуга Бне будет активирован при запускецель Т