Запускається завдання на очікування налаштування мережі. Сервер Ubuntu 17.10


39

Я щойно встановив сервер ubuntu на своєму ноутбуці, і все працює добре, за винятком того, що при завантаженні, якщо ноутбук не підключений до Ethernet або в межах мого wi-fi, я отримую це повідомлення "Запускається завдання на очікування мережі, щоб бути налаштованим ", який залишається близько 2 хвилин. Я шукав рішення в Інтернеті і намагався:

  • Вимкнути мережевий менеджер
  • Відредагуйте параметри тайм-ауту в /etc/systemd/system.conf
  • Вимкніть systemd.networkd-wait-online.service

Жодне з цих рішень не працювало для мене. Можливі виправлення?


Це виправлення. Після кожної зміни ви перезавантажували NM / systemd? Вони читають свої конфігураційні файли лише на початку.
user535733

Так, я використовував systemctl daemon-reload, все одно той же результат
vlad27

Відповіді:


39

Використовуйте

systemctl disable systemd-networkd-wait-online.service

щоб відключити послугу онлайн-очікування, щоб система не чекала на мережеве з'єднання, та використовувати її

systemctl mask systemd-networkd-wait-online.service

щоб не допустити запуску послуги, якщо цього вимагає інша служба (послуга є посиланням на /dev/null).


Що означає маскування в цьому контексті ?.
Хайме Хаблуцель

Це спрацювало. :) Чи можете ви описати, будь ласка, що ми тут зробили? Мені просто цікаво.
СД.

3
@SD @ Хайме-hablutzel Див askubuntu.com/a/816378/445084 для пояснення systemctl mask. Короткий опис: маскування сервісу перенаправляє його /dev/null, запобігаючи повторному включенню у випадку, якщо цього вимагає інша служба.
таймер

31

Не маскуйте та не відключайте системну службу.

Відредагуйте /etc/netplan/01-netcfg.yamlта додайте optional: trueдо будь-яких пристроїв, які можуть бути не завжди доступними.

sudo netplan apply

1
У моєму випадку це спрацювало лише після встановлення всіх інтерфейсів на необов'язкові: true
duli

1
Яким чином це вище, ніж відключення системної служби?
Андреас Хартманн

Для мене з Ubuntu 18.04 на Vmware відповідним файлом був /etc/netplan/50-cloud-init.yaml; додавання необов'язкового: справді & перезавантаження працювало! Пов'язані теми: askubuntu.com/questions/1090631 / ... . Пов'язана інформація про netplan: linux.com/learn/intro-to-linux/2018/9/… (Налаштування DHCP)
Snidhi Sofpro,

Thisx працював для мене з Ubuntu 18.04.03 LTS (Desktop), де я відключив NetworkManager і налаштував мережу з netplan, ans встановив br0 для віртуалізації kdvm / qenu і кешування dns з dnsmaquerade. Новіші не знайшли, що йде не так у моїх налаштуваннях, але буйки займають понад 2 хвилини без необхідності: true -setting. З цим налаштуванням завантаження є нормальним, так само як і функціональність з мережею.
Reijo Korhonen

9

Це означає systemd-networkd-wait-online.service, що висить. З ним є кілька відомих помилок. Перевірте, що послуги хочуть network-online.target:

systemctl show -p WantedBy network-online.target

Якщо ви хочете, ви можете відключити ці служби. В іншому випадку, можливо, вам доведеться замаскувати послугу, як вказав Mr.Ecco .


2

Маскування systemd-networkd-wait-online.service, як пропонується в інших відповідях, може допомогти у простих налаштуваннях, але це не виправить проблему. Якщо ви замаскуєте послугу, всі інші сервіси залежно від неї також вийдуть з ладу. Це означає, що всі сервіси, які потрібно зачекати, поки мережа не буде в мережі, вийдуть з ладу.

Я зіткнувся з цією проблемою, оскільки використовую динамічну настройку відключення для своїх ноутбуків із з'єднанням дротового (enp9s0) та бездротового (wlp12s0) інтерфейсу, який використовується як раби для основного інтерфейсу bond0 . Точно така ж ситуація у вас, якщо ви використовуєте міст ( br0 з підлеглий інтерфейсами). Тільки основні інтерфейси bond0 або br0 будуть доступні в Інтернеті, але не раби, тому невідоміsystemd-networkd-wait-online.service .

Вирішення цієї проблеми полягає в тому, щоб змінити сервіс і перевірити лише інтерфейси, які мають працювати в Інтернеті. Ви знайдете:

~$ sudo systemctl cat systemd-networkd-wait-online.service | grep --after-context=3 '\[Service\]'
[Service]
Type=oneshot
ExecStart=/lib/systemd/systemd-networkd-wait-online
RemainAfterExit=yes

У програмі systemd-networkd-wait-online є параметр для тестування конкретних інтерфейсів. Перевірте /lib/systemd/systemd-networkd-wait-online --help. Тому я роблю падіння файлу, щоб змінити послугу:

~$ sudo systemctl edit systemd-networkd-wait-online.service

У порожній редактор вставляйте ці висловлювання, звичайно, зі своїм інтерфейсом, зберігайте їх як вийти з редактора:

[Service]
ExecStart=
ExecStart=/lib/systemd/systemd-networkd-wait-online --interface=bond0 --quiet

Порожній ExecStart=важливий, оскільки він вимикає команду "стара". Ви можете перевірити більше, ніж на інтерфейсі (дивіться довідку).


Відмінна, дуже хороша відповідь, це була саме моя проблема
каклон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.