LINUX.ORG.RU
решено ФорумAdmin

systemd-networkd-wait-online[299]: Timeout occurred while waiting for network connectivity.

 ,


0

1

И все бы ничего, но

root@orangepizero:~# systemctl status systemd-networkd-wait-online.service
● systemd-networkd-wait-online.service - Wait for Network to be Configured
     Loaded: loaded (/lib/systemd/system/systemd-networkd-wait-online.service; enabled-runtime; preset: disabled)
     Active: activating (start) since Tue 2025-04-08 07:17:04 EEST; 36min ago
       Docs: man:systemd-networkd-wait-online.service(8)
   Main PID: 299 (systemd-network)
      Tasks: 1 (limit: 897)
     Memory: 668.0K
        CPU: 108ms
     CGroup: /system.slice/systemd-networkd-wait-online.service
             └─299 /lib/systemd/systemd-networkd-wait-online

Notice: journal has been rotated since unit was started, output may be incomplete.

Это после systemctl disable systemd-networkd-wait-online.service - в /etc/systemd/ - ничего такого уже нет.

Более того, systemctl edit systemd-networkd-wait-online.service - все закомментировано.

Это уже Windows-way, когда ты отключаешь штатный инструмент собственной утилитой, а он не отключается без любого сообщения об ошибке?

Как вообще отключить эту фигню (ожидание сети при загрузке)?

★★★★★

Последнее исправление: windows10 (всего исправлений: 1)

systemctl disable

Это выключает автозапуск сервиса. Его по-прежнему можно запускать руками. Если ты точно уверен, что тебе надо запретить запуск, это делается командой mask. Но лучше разобраться с проблемой, а не заклеивать пластырем.

enabled-runtime

Сервис включил другой юнит для текущей загрузки.

systemctl edit systemd-networkd-wait-online.service - все закомментировано.

Так и должно быть, оно же для внесения изменений.

anonymous
()

Как вообще отключить эту фигню (ожидание сети при загрузке)?

Лучше починить. Посмотри, от чего у тебя зависит network-online.target. Должна от того сервиса, который на самом деле настраивает сеть.

anonymous
()

Надо дизейблить не только юнит, но и сокет, в systemd же еще и сокет-активация есть. Когда сервис включен, он будет запускаться автоматом, но если он выключен – никто не мешает запустить его через сокет. Вот если и сокет выключен, это будет равносильно mask сервис, по идее.

yars068 ★★★★
()

Проблема не в самом сервисе systemd-networkd-wait-online.service. Этот сервис тянет таргет network-online.target. Проблема в сервисах, которые тянут network-online.target. Хорошему сервису должно быть положить на состояние сети, он должен запускаться независимо от сетевой связности, и не зависеть от network-online.target. Но не все сервисы «хорошие». Посмотри, какие сервисы тянут network-online.target, вот они и виновны в этом ожидании сети при загрузке. systemctl list-dependencies --reverse network-online.target.

Например, в моём centos9 rsyslog.service почему-то имеет зависимость на network-online.target, хотя у процесса rsyslog нет даже сетевых сокетов (только UNIX сокеты). Я убрал у него зависимость на network-online.target c помощью systemctl edit --full rsyslog.service.

Ещё у меня сервис rpc-statd-notify.service тянет зависимость от network-online.target. Это видимо пример «плохого» сервиса. Он при загрузке должен уведомлять NFS серверы о том, что NFS клиент перезагрузился, и все его локи на сервере (взятые до ребута) можно отпустить. Мне это не нужно, я его замаскировал.

https://systemd.io/NETWORK_ONLINE/ тут объяснение, что это за костыль вообще такой, network-online.target.

iliyap ★★★★★
()
Последнее исправление: iliyap (всего исправлений: 1)

Раньше он ждал бесконечно настройки сети.

Я вижу два пути решения.

Первый: отредактировать (systemctl edit) юнит и добавить в ExecStart ключ -i основной_сетевой_интерфейс. В этом случае systemd-networkd-wait-online будет ждать настройки только этого интерфейса.

Второй: проинспектировать настройки в /etc/systemd/network. В юнитах как-то указывается, нужно ли ждать настройки интерфейса. Это надо в доках смотреть. Я так с разбегу не скажу, что именно надо прописать.

UPD: https://www.freedesktop.org/software/systemd/man/latest/systemd.network.html#...

Radjah ★★★★★
()
Последнее исправление: Radjah (всего исправлений: 1)

у меня такая штука была с малинкой после установки LXDE. оказалось, что с ним прилетел какой-то сетевой менеджер (не помню название, если вспомню то напишу) из-за которого перестала подниматься сеть.

эту фигню было потом видно в dmesg. Снёс этот пакет и всё заработало

UPD. connman чего-то там по моему так назывался

LimpTeaM
()
Последнее исправление: LimpTeaM (всего исправлений: 2)
Ответ на: комментарий от iliyap

Посмотри, какие сервисы тянут network-online.target

nginx.

Удивлен. Потому что на других дистрах такого не наблюдал, видимо криворукие мейтейнеры этого Дебиана\Армбиана.

windows10 ★★★★★
() автор топика
Ответ на: комментарий от Ololo_Trololo

Нет, я удивлен не тому что nginx'у нужна сеть, а тому что мейтейнер криво расставил таймауты (совсем как при выключении, да).

Я не замерял точно, но ориентировочно это на пару минут.

Ладно, у какого-то дебила из группы разработчиков сетка может подниматься по dhcp две минуты...

Но неужели трудно понять, что если аплинка нет - то тупо по две минуты ждать поднятия сети, потому что скорее всего это аппаратная проблема?

Это первый момент ... И второй момент, который не нравится многим и мне в том числе: какое дело инициализатору до моей сети? Не нравится nginx'у отсутствие сети - вот пусть сам и ждет. Загрузку-то системы напуркуа тормозить?

windows10 ★★★★★
() автор топика
Ответ на: комментарий от iliyap

Например, в моём centos9 rsyslog.service почему-то имеет зависимость на network-online.target, хотя у процесса rsyslog нет даже сетевых сокетов (только UNIX сокеты).

Он может отправлять/принимать логи по сети, вполне логично.

anonymous
()
Ответ на: комментарий от windows10

Если nginx биндится на 0.0.0.0 и ::, то ему не нужна «настроенная» сеть (что бы это ни значило). Биндиться на 0.0.0.0 и :: это его конфигурация по умолчанию. Если ты её не менял, можешь просто убрать ненужную зависимость nginx.service от network-online.target.

Такие зависимости недалёкие (а где найти других) мейнтейнеры добавляют в качестве респонза на багрепорты от недалёких пользователей.

iliyap ★★★★★
()
Ответ на: комментарий от iliyap

Нет, это сугубо локальная фишка, так что да, биндится он дефолтно.

В принципе глюкан я починил по-своему, молотком, но все таки необычно иметь такой бардак в системе.

windows10 ★★★★★
() автор топика