È 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.