Запуск службы systemd после запуска сети

Estoy desarrollando una herramienta, shprofile , que te ayuda a administrar un conjunto de perfiles de shell . Cada perfil define un conjunto de scripts que se pueden cargar en cualquier momento dentro de la sesión de shell actual.

Para resolver su problema, puede definir 2 perfiles que contengan sus 2 versiones de .profiley .vimrc. Luego puede cambiar entre ellos llamandoshprofile:

$ shprofile profileName

Para obtener más información, consulte el proyecto asociado Github .

0
27.06.2019, 16:37
3 ответа

Просто установите сетевой менеджер -отлично работал у меня на Rasbian.

Network Manager позволяет NetworkManager -ждать -online.service. Так как интерфейсы не готовы при запуске Knockd, это дает сети время, чтобы активировать интерфейс.

-2
28.01.2020, 05:04

@Bigon имеет правильную общую идею.

Основная проблема заключается в том, что network-online.targetобычно не включается в дерево зависимостей для systemd. Когда systemd обрабатывает строку After=network-online.targetв вашем модуле, он определяет, что может игнорировать ее, потому что network-online.targetне произойдет.

Вам нужен модуль, который втягивает сеть -online.target в дерево зависимостей в тот момент, когда сеть находится ::барабанная дробь ::в сети. Многие дистрибутивы предоставляют такой модуль. Сетевые менеджеры также часто предоставляют эту функциональность.

Поскольку я не знаю ваш дистрибутив, мне трудно понять, какой модуль вам нужно включить. И хотя переключение на networkmanager , скорее всего, решит вашу проблему, networkmanager также внесет много других изменений в работу вашей системы, возможно, конфликтующих с существующей конфигурацией.

1
28.01.2020, 05:04

Вам нужна директива Wants=, так как network-online.targetне включается в цепочку зависимостей по умолчанию (см. systemd.special (7 )справочная страница ).

Вы также можете включитьifupdown-wait-online.service(systemctl enable ifupdown -wait -online.service ), если вы не используете NetworkManager

1
28.01.2020, 05:04

Теги

Похожие вопросы