È in esecuzione un processo di avvio per l'attesa della configurazione della rete. Server Ubuntu 17.10


40

ho appena installato il server Ubuntu sul mio laptop e tutto funziona bene tranne per il fatto che all'avvio se il laptop non è collegato a Ethernet o nel raggio del mio wi-fi ricevo questo messaggio "Un lavoro di avvio è in esecuzione per attendere che la rete essere configurato "che rimane per circa 2 minuti. Ho cercato soluzioni online e ho cercato di:

  • Disabilita il gestore di rete
  • Modifica le impostazioni di timeout in /etc/systemd/system.conf
  • Disabilita systemd.networkd-wait-online.service

Nessuna di queste soluzioni ha funzionato per me. Eventuali correzioni?


Queste sono le correzioni. Dopo ogni modifica, hai ricaricato NM / systemd? Leggono solo i file di configurazione all'avvio.
user535733

Sì, ho usato systemctl daemon-reload, sempre lo stesso risultato
vlad27

Risposte:


40

Uso

systemctl disable systemd-networkd-wait-online.service

per disabilitare il servizio di attesa online per impedire al sistema di attendere su una connessione di rete e utilizzare

systemctl mask systemd-networkd-wait-online.service

per impedire l'avvio del servizio se richiesto da un altro servizio (il servizio è collegato a /dev/null).


Cosa significa mascherare in questo contesto?
Jaime Hablutzel,

Ha funzionato. :) Puoi per favore descrivere cosa abbiamo fatto qui? Sono solo curioso.
SD.

3
@SD @ jaime-hablutzel Vedi askubuntu.com/a/816378/445084 per una spiegazione di systemctl mask. Per farla breve: mascherare un servizio lo reindirizza a /dev/null, impedendogli di essere riattivato nel caso in cui sia richiesto da un altro servizio.
timer

31

Non mascherare o disabilitare il servizio systemd.

Modifica /etc/netplan/01-netcfg.yamle aggiungi optional: truea tutti i dispositivi che potrebbero non essere sempre disponibili.

sudo netplan apply

1
Nel mio caso ha funzionato solo dopo aver impostato tutte le interfacce su opzionale: true
duli il

1
In che modo è superiore alla disabilitazione del servizio systemd?
Andreas Hartmann,

Per me con Ubuntu 18.04 su Vmware, il file corrispondente era /etc/netplan/50-cloud-init.yaml; aggiunta opzionale: true e riavvio funzionato! Discussione correlata: askubuntu.com/questions/1090631/… . Informazioni correlate su netplan: linux.com/learn/intro-to-linux/2018/9/… (Configurazione di DHCP)
Snidhi Sofpro

Thisx ha funzionato per me con Ubuntu 18.04.03 LTS (Desktop) dove ho disabilitato NetworkManager e impostato networkd con netplan, ans ho impostato br0 per la virtualizzazione kdvm / qenu e la cache DNS con dnsmaquerade. I più recenti non hanno trovato ciò che non va nelle mie impostazioni, ma le boe impiegano più di 2 minuti senza opzione: impostazione vera. Con questa impostazione, l'avvio è normale, così come la funzionalità anche con la rete.
Reijo Korhonen,

9

Questo significa che systemd-networkd-wait-online.serviceè appeso. Ci sono alcuni bug noti con esso. Verifica cosa vogliono i servizi network-online.targetcon:

systemctl show -p WantedBy network-online.target

Puoi disabilitare quei servizi se vuoi. Altrimenti, potresti dover mascherare il servizio come indicato da Mr. Ecco .


2

Il mascheramento systemd-networkd-wait-online.service, come suggerito in altre risposte, può aiutare nelle semplici configurazioni ma non risolve il problema. Se si maschera il servizio, anche tutti gli altri servizi a seconda di esso falliranno. Ciò significa che tutti i servizi necessari per attendere che la rete sia online non funzioneranno.

Mi imbatto in questo problema, perché io uso una dinamica fail-over di installazione per i miei computer portatili con l'incollaggio del cablato (enp9s0) e l'interfaccia wireless (wlp12s0) che vengono utilizzati come schiavi per l'interfaccia principale bond0 . Esattamente la stessa situazione che hai se usi un bridge ( br0 con interfacce slave). Solo le interfacce principali bond0 o br0 potranno ottenere on-line, ma non gli schiavi così systemd-networkd-wait-online.servicenon riuscirà sugli slave.

La soluzione a questo problema è modificare il servizio e verificare solo le interfacce che dovrebbero andare online. Troverai con:

~$ 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

Il programma systemd-networkd-wait-online ha un parametro per testare interfacce specifiche. Verificare con /lib/systemd/systemd-networkd-wait-online --help. Quindi faccio una goccia nel file per modificare il servizio:

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

Nell'editor vuoto inserisci queste istruzioni, ovviamente con la tua interfaccia, salvale e chiudi l'editor:

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

Il vuoto ExecStart=è importante perché disabilita il comando "vecchio". Puoi controllare più che sull'interfaccia (guarda la guida).


Risposta eccellente, molto buona, era esattamente il mio problema
kaklon il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.