История изменений
Исправление 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=. Я про это вообще ничего не говорил.
Второй пример устраивает?