La vera soluzione (!) a questo problema è il seguente comando:
sudo sed -i.old-'date +%Y%m%d-%H%M%S' '/^auto lo$/!s/^auto /allow-hotplug /' /etc/network/interfaces
In /etc/network/interfaces
questo cambia tutte le interfacce (eccetto lo
) da auto
a allow-hotplug
. In questo modo lo stivale non attende più l'arrivo delle interfacce.
Avviso: dopo questa modifica un'interfaccia collegata permanentemente potrebbe rimanere inattiva dopo l'avvio fino a quando systemd
riceve un vero evento plug. Vedi Note sotto.
Esempio precedente (guarda auto eth0
):
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet dhcp
Esempio dopo (guarda allow-hotplug eth0
):
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp
Note:
-
Se si montano condivisioni di rete in /etc/fstab
, utilizzare auto
e non allow-hotplug
per l'interfaccia alle condivisioni di rete. Altrimenti potresti vedere accadere cose strane durante il processo di avvio, perché la rete deve essere disponibile prima di montare la condivisione di rete. allow-hotplug
non garantisce questo.
-
Se le interfacce sono in modalità auto
, esprimi: "Queste interfacce sono fondamentali per l'avvio, quindi dobbiamo aspettare affinché vengano visualizzate prima di essere avviati." Quindi, se non si presentano, Ubuntu ritarda l'avvio con il failsafe, aspettando che vengano visualizzati per un massimo di 120 secondi. E questa è la cosa giusta da fare.
Al contrario, le interfacce impostate su allow-hotplug
dicono a Ubuntu che sono opzionali. Quindi non sono essenziali per l'avvio.
-
Ubuntu registra quali interfacce sono disponibili al momento dell'installazione e presuppone che siano importanti per le operazioni successive. Questa è una scelta prudente, nel caso in cui l'interfaccia sia successivamente necessaria perché alcuni servizi si collegano ad essa, poiché tali servizi non si avviano se perdono l'interfaccia.
-
Esiste anche un'impostazione del kernel che consente ai processi di collegarsi a IP inesistenti, quindi puoi sempre usare allow-hotplug
se vuoi, senza danneggiare la stabilità del processo di avvio. Tuttavia, questa è una storia completamente diversa.
Note (aggiornamento 2018-01-04):
-
Al mio fianco, allow-auto
fa lo stesso di auto
, quindi non aiuta (provato con br0
).
-
Dopo l'aggiornamento di uno dei miei sistemi a Debian Stretch e il passaggio a SystemD, l'avvio è diventato insopportabilmente ritardato in attesa dell'interfaccia (permanentemente connessa all'esterno) br0
. Tuttavia con allow-hotplug
l'interfaccia br0
è rimasta giù dopo l'avvio . Forse questo è causato da SystemD che non riceve alcun evento plug reale o sintetico su tale interfaccia. Non ho approfondito questo argomento, poiché alcuni oscuri crontab
entry @reboot /sbin/ifup br0
per root
lo hanno risolto per me. (Funziona, ma probabilmente è qualcosa che non dovrebbe essere consigliato agli altri. Mi piacerebbe sapere se qualcuno ha un'idea migliore.)
((Il testo finisce qui, il resto è per l'intrattenimento))
Ed ecco una storia del tempo del letto, ispirata a questo:
Alcuni coltivatori sono andati su tutte le furie. I loro raccolti si sono asciugati! Così
indagato perché non c'era abbastanza acqua nel canale di irrigazione.
Nella distanza più vicina hanno immediatamente individuato il loro colpevole. Il
diga! La dannata diga ha sollevato tutta l'acqua!
Da questo momento in poi è stato chiaro cosa fare. "Fai saltare la diga!" essi
urlò e iniziò a raccogliere la loro dinamite. Poi si diressero tutti
dritto per la diga.
Il figlio piccolo di uno dei contadini chiese a suo padre
cosa stava succedendo. Ha detto a suo figlio: "Non c'è abbastanza acqua dentro
il fossato, quindi facciamo saltare in aria la diga! "Poi se ne andò immediatamente
segui il pacco.
"Ma", il piccolo cercò di urlare dietro a suo padre, "Ma c'è un
valvola! Apri la valvola! "Sfortunatamente, la sua voce era troppo gentile, e
le sue gambe erano troppo corte, quindi questo messaggio non ha raggiunto nessuno.
Il ragazzo si sedette e pianse. Mezz'ora dopo sentì il lontano "boom" che distrusse la sua plaga preferita alla diga, dove si trovava anche la valvola.
Che cosa è successo dopo?
Il Diluvio spazzò via tutti i raccolti preziosi.
La banca portò via la fattoria del padre del ragazzo.
Suo padre non era in grado di pagare per una buona scuola. Quindi il ragazzo si è arruolato nell'esercito per ottenere un'istruzione superiore. Lì ha imparato tutto sulla fisica degli esplosivi e ora cerca di inventare una diga esplosiva.
Che cosa ha a che fare questa storia qui?
- I coltivatori agricoli sono le altre risposte.
- Il ragazzino è questa risposta qui.
- La diga è il sonno di sicurezza di Ubuntu.
- La valvola è l'impostazione dell'interfaccia corretta.
- L'acqua è il processo di avvio.
- Le colture sono il tuo sistema operativo Ubuntu.
- E il ditch pieno è, come dovrebbe apparire il processo di avvio.
L'impostazione dell'interfaccia, che vive in /etc/network/interfaces
, viene fatta esplodere con il sonno in failsafe rimosso, e anche se qualcuno vede la valvola chiusa ( auto
), nessuno spottet che possa essere aperto anche!