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.

Jealie
la source

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
DuBistKomisch
la source
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.

Proctoru2
la source
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
tshepang
la source
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.

intelfx
la source
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