Я пытаюсь создать системный сервис на Debian Jessie. Мне нужно, чтобы начать после network-online.targetдостижения.
Проблема в том, что происходит network-online.targetпожар, в то время как network.targetмои интерфейсы еще не настроены, просто запущен запрос DHCP.
Похоже, что эта проблема специфична для Debian, потому что он использует устаревшую конфигурацию сети.
Как обойти эту проблему или как заставить network-online.targetработать?
network-online.target ● └─systemd-networkd-wait-online.service я уже прочитал эту страницу, я понимаю основную концепцию там, но все же очень странно не иметь определенной точки, где могут запускаться критически важные для сети службы. По крайней мере, он может ждать правильного назначения DHCP.
network-online.targetзависит только от systemd-networkd-wait-online.serviceвысказывания, что оно готово. Это не зависит от того, что NetworkManager говорит, что он готов, и не проверяет, что ifupвсе ссылки были успешно запущены (если вы используете этот метод для настройки сети). Ubuntu, с другой стороны, зависит от ifupNetworkManager, но не от systemd-networkd-wait-online..
/etc/network/interfacesсистемные .networkфайлы или NetworkManager?
network-online.targetи network.targetсрабатывают сразу после ifup. Я использую Debian по умолчанию, поэтому /etc/network/interfacesс адресом DHCP. Похоже, что networkd может быть лучшим решением, но это не так просто реализовать.
systemctl list-dependencies network-online.target? Также обратите внимание, чтоnetwork-online.targetнеобязательно означает, что есть доступ в Интернет. Смотрите эту страницу для получения дополнительной информации.