Come modificare il timeout in systemctl


14

Quando avvio il mio sistema Debian, il suo avvio si blocca per circa 2 minuti sulla linea:

Loading, please wait...
[    5.191043] systemd-fsck[129]: /dev/mmcblk0p2: clean, 234192/873120 files, 2335263/3491328 blocks
[    6.645242] intel_rapl: no valid rapl domains found in package 0
[    6.643682] systemd-fsck[222]: fsck.fat 3.0.27 (2014-11-12)
[    6.664844] intel_rapl: no valid rapl domains found in package 0
[    6.660702] systemd-fsck[222]: /dev/mmcblk0p1: 3 files, 33/130812 clusters
[    **] A start job is running for LSB: Raise network interf...38s / no limit)

Alla fine, rinuncia a sollevare l'interfaccia di rete e continua l'avvio.

Domanda: Come posso modificare il timeout utilizzato systemctl, in modo che dopo 15 secondi smetta di provare a sollevare l'interfaccia di rete?

Ulteriori informazioni: la fonte del problema è l'uso di un dongle USB wifi su questa macchina. A volte il dongle è lì, a volte no. Quando il dongle non è collegato, mi aspetto che l'interfaccia di rete non venga sollevata e non voglio aspettare troppo a lungo.

Risposte:


9

Ho avuto un problema simile e mi sono grattato la testa per la mancanza di risultati di Google (dopo essere finito su questa pagina alcune volte), quindi ho deciso di leggere semplicemente come systemdfunziona qui .

Alla fine ho capito che in networkingrealtà è uno script init SysV ( /etc/init.d/networking), che viene convertito in un systemdservizio in fase di esecuzione ( /run/systemd/generator.late/networking.service), quindi non puoi semplicemente modificare uno script esistente.

Invece devi sovrascriverlo con un file, ad esempio /etc/systemd/system/networking.service.d/reduce-timeout.conf, nel tuo caso contenente:

[Service]
TimeoutStartSec=15

7

Su un sistema che esegue Debian Jessie, sono stato in grado di aggiungere il seguente codice al file che si trova in /lib/systemd/system/networking.service.d/network-pre.conf

[Service]
TimeoutStartSec=15

Questo ha cambiato 'nessun limite' ad un limite di 15 secondi, rendendo il sistema molto più veloce se la rete è disconnessa.

La creazione di un file in /etc/systemd/system/networking.service.d/non ha avuto alcun effetto su questo sistema, quindi ho modificato il file esistente in /lib/systemd/system/networking.service.d/. Se questa directory è vuota, la creazione di un nuovo file .conf con il codice sopra dovrebbe funzionare.

Non sono sicuro del perché sia ​​diverso o se sia anche il modo corretto di configurare una cosa del genere.


questa soluzione ha funzionato anche per me. Quello accettato no.
Moritz

AFAIK /lib/systemd/...è progettato per gli script originali e /etc/systemd/...per l'override locale, quindi non sono sicuro del motivo per cui non funziona per te. Sono anche su Jessie.
DuBistKomisch,

/lib/systemd/system/networking.servicecontenuto in un timeout di 5 minuti !!
Philippe Gachoud,

5

Ho avuto un problema simile e si scopre che il mio sistema stava cercando di connettersi al Wi-Fi. La mia soluzione consisteva nel cambiare questa linea in / etc / network / interfaces:

auto wlan0

per:

allow-hotplug wlan0

questo ha funzionato bene per la mia scheda Asus P5Q che ha quattro schede NIC (è difficile sapere quale delle quattro sia assegnata come eth0). Sono passato auto eth0a allow-hotplug eth0\ n allow-hotplug eth1\ n allow-hotplug eth2\ nallow-hotplug eth3
Cauterite

1

Questo è un problema negli script di rete di Debian: apparentemente aspettano che appaiano tutte le interfacce e non hanno la nozione di interfacce "che appaiono dinamicamente" (come systemd-networkdfa).

Hai due soluzioni. La prima soluzione è ridurre il timeout di configurazione. Tuttavia, come si può vedere dall'output pubblicato ( ...38s / no limit), systemd non impone alcun timeout all'avvio della rete. Quindi questo è qualcosa che devi configurare negli stessi script specifici di Debian.

La seconda soluzione consiste nell'utilizzare strumenti più moderni per configurare la rete (come NetworkManager) che supportano interfacce con aspetto dinamico. Nota che systemd-networkdnon sarà di grande utilità qui perché non ha supporto integrato per le reti WLAN.


Grazie intelfx per la tua risposta. Qualche indizio su come configurare il timeout negli systemdscript specifici di Debian? Qualsiasi suggerimento verso una sorta di soluzione sarebbe molto apprezzato! (Ho passato molto tempo a cercare su Google ed empiricamente a fare scherzi con opzioni senza successo finora)
Jealie

@Jealie: non ho mai usato Debian né i suoi derivati, quindi non posso aiutarti qui, scusa. Sarebbe meglio se aggiungessi un tag "debian" alla tua domanda, ma hai rifiutato la mia modifica che suggeriva esattamente quel cambiamento ...
intelfx

@Jealle: Ah, hm, devo aver letto male qualcosa allora ... scusa.
intelfx,
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.