Comment changer le délai d'expiration dans systemctl


14

Lorsque je démarre mon système Debian, son démarrage se bloque pendant environ 2 minutes sur la ligne:

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)

Finalement, il abandonne l'augmentation de l'interface réseau et continue le démarrage.

Question: Comment puis-je modifier le délai d'attente utilisé dans systemctl, de sorte qu'au bout de 15 secondes, il cesse d'essayer d'augmenter l'interface réseau?

Informations supplémentaires: la source du problème est l'utilisation d'un dongle USB wifi sur cette machine. Parfois, le dongle est là, parfois non. Lorsque le dongle n'est pas branché, je m'attends à ce que l'interface réseau ne soit pas soulevée, et je ne veux tout simplement pas attendre trop longtemps.

Réponses:


9

J'ai eu un problème similaire et je me grattais la tête à cause du manque de résultats Google (après m'être retrouvé plusieurs fois sur cette page), j'ai donc décidé de lire comment systemdfonctionne ici .

Finalement, j'ai compris qu'il networkings'agissait en fait d'un script d'initialisation SysV ( /etc/init.d/networking), qui est converti en systemdservice lors de l'exécution ( /run/systemd/generator.late/networking.service), vous ne pouvez donc pas simplement modifier un script existant.

Au lieu de cela, vous devez le remplacer par un fichier, par exemple /etc/systemd/system/networking.service.d/reduce-timeout.conf, dans votre cas contenant:

[Service]
TimeoutStartSec=15

7

Sur un système exécutant Debian Jessie, j'ai pu ajouter le code suivant au fichier situé à /lib/systemd/system/networking.service.d/network-pre.conf

[Service]
TimeoutStartSec=15

Cela a changé «aucune limite» à une limite de 15 secondes, ce qui accélère le démarrage du système si le réseau est déconnecté.

La création d'un fichier dans /etc/systemd/system/networking.service.d/n'a eu aucun effet sur ce système, j'ai donc édité le fichier existant dans le /lib/systemd/system/networking.service.d/. Si ce répertoire est vide, la création d'un nouveau fichier .conf avec le code ci-dessus devrait fonctionner.

Je ne sais pas pourquoi cela est différent ou si c'est même la bonne façon de configurer une telle chose.


cette solution a fonctionné pour moi aussi. Celui qui a accepté ne l'a pas fait.
Moritz

AFAIK /lib/systemd/...est destiné aux scripts originaux et /etc/systemd/...à la substitution locale, donc je ne sais pas pourquoi cela ne fonctionne pas pour vous. Je suis aussi sur Jessie.
DuBistKomisch

/lib/systemd/system/networking.servicecontenue dans stretch un timeout de 5min !!
Philippe Gachoud

5

J'ai eu un problème similaire et il s'avère que mon système essayait de se connecter au Wi-Fi. Ma solution consistait à changer cette ligne dans / etc / network / interfaces:

auto wlan0

à:

allow-hotplug wlan0

cela a bien fonctionné pour ma carte Asus P5Q qui a quatre cartes réseau (il est difficile de savoir lequel des quatre est affecté en tant que eth0). J'ai changé auto eth0pour allow-hotplug eth0\ n allow-hotplug eth1\ n allow-hotplug eth2\ nallow-hotplug eth3
Cauterite

1

C'est un problème dans les scripts de mise en réseau de Debian - ils attendent apparemment que toutes les interfaces apparaissent et n'ont pas la notion d'interfaces "d'apparition dynamique" (comme le systemd-networkdfait).

Vous avez deux solutions. La première solution consiste à réduire le délai de configuration. Cependant, comme le montre la sortie que vous avez publiée ( ...38s / no limit), systemd n'impose aucun délai au démarrage du réseau. C'est donc quelque chose que vous devez configurer dans les scripts spécifiques à Debian eux-mêmes.

La deuxième solution consiste à utiliser des outils plus modernes pour configurer votre réseau (comme NetworkManager) qui prennent en charge les interfaces apparaissant dynamiquement. Notez que systemd-networkdcela ne sera pas très utile ici car il n'a pas de support intégré pour les réseaux WLAN.


Merci intelfx pour votre réponse. Avez-vous une idée de la façon de configurer le délai d'attente systemddans les scripts spécifiques à Debian? Tout pointeur vers une sorte de solution serait très apprécié! (J'ai passé beaucoup de temps à googler et à jouer empiriquement avec des options sans succès jusqu'à présent)
Jealie

@Jealie: Je n'ai jamais utilisé Debian ni aucun de ses dérivés, donc je ne peux pas vous aider ici, désolé. Il serait préférable que vous ajoutiez une balise "debian" à votre question, mais vous avez rejeté ma modification qui suggérait exactement ce changement ...
intelfx

@Jealle: Ah, hm, je dois avoir mal lu quelque chose alors ... désolé.
intelfx
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.