LINUX.ORG.RU

История изменений

Исправление Ivan_qrt, (текущая версия) :

Это? Немного Марсианской Логики (комментарий)

Это.

Допустим у тебя есть vpn. Его надо запускать только после networkmanager-online, systemd-networkd.service + resolved (емнип, online для него пока не поддерживается), network.service и т.п. Что именно у пользователя используется ты не знаешь, может даже что-то своё. Знаешь, что если кто-то из них запущен, то стартовать надо после него.

Ты пишешь After=networkmanager-online.service, After=network.service и т.п. Проблема решена. Если я хочу сменить network.service на systemd-networkd.service, я могу не вносить никаких изменений в сервис vpn.

Альтернатива, клепать ещё один таргет, чуть ниже network-online.target, на который ставить зависимость для vpn. Что лучше, вопрос спорный, но в systemd возможны оба варианта.


VPN, запускаемая по After network-online и не останавливаемая при останове сети - так себе пример.

Запускаемая после любого из After=NetworkManager-online и т.п., но не стартующая их сама. И запускаемая до network-online.target. Как она будет запускаться/останавливаться зависит от секции install и Before=. Я про это вообще ничего не говорил.

Второй пример устраивает?

Исходная версия Ivan_qrt, :

Это? Немного Марсианской Логики (комментарий)

Это.

Допустим у тебя есть vpn. Его надо запускать только после networkmanager-online, systemd-networkd.service + resolved (емнип, online для него пока не поддерживается), network.service и т.п. Что именно у пользователя используется ты не знаешь, может даже что-то своё. Знаешь, что если кто-то из них запущен, то стартовать надо после него.

Ты пишешь After=networkmanager-online.service, After=network.service и т.п. Проблема решена. Если я хочу сменить network.service на systemd-networkd.service, я могу не вносить никаких изменений в сервис vpn.

Альтернатива, клепать ещё один таргет, чуть ниже network-online.target, на который ставить зависимость для vpn. Что лучше, вопрос спорный, но в systemd возможны оба варианта.


VPN, запускаемая по After network-online и не останавливаемая при останове сети - так себе пример.

Запускаемая после любого из After=NetworkManager-online и т.п., но не стартующая их сама. И запускаемая до network-online.target. Как она будет запускаться останавливаться зависит от секции install и Before=. Я про это вообще ничего не говорил.

Второй пример устраивает?