Un travail de démarrage est en cours d’attente pour que le réseau soit configuré. Serveur Ubuntu 17.10

40

Je viens d'installer le serveur Ubuntu sur mon ordinateur portable et tout fonctionne correctement, à l'exception du fait qu'au démarrage, si l'ordinateur portable n'est pas connecté à Ethernet ou à la portée de mon réseau Wi-Fi, le message suivant s'affiche: "Un travail de démarrage est en cours d'exécution pour attendre le réseau être configuré "qui reste environ 2 minutes. J'ai cherché en ligne des solutions et j'ai essayé de:

  • Désactiver le gestionnaire de réseau
  • Modifiez les paramètres de délai dans /etc/systemd/system.conf
  • Désactiver systemd.networkd-wait-online.service

Aucune de ces solutions n'a fonctionné pour moi. Des solutions possibles?

vlad27
la source
Ce sont les correctifs. Après chaque changement, avez-vous rechargé NM / systemd? Ils ne lisent que leurs fichiers de configuration au début.
user535733
Oui, j'ai utilisé systemctl daemon-reload, toujours le même résultat
vlad27

Réponses:

40

Utilisation

systemctl disable systemd-networkd-wait-online.service

désactiver le service wait-online pour empêcher le système d’attendre une connexion réseau, et utiliser

systemctl mask systemd-networkd-wait-online.service

pour empêcher le service de démarrer si demandé par un autre service (le service est lié symboliquement à /dev/null).

Mr.Ecco
la source
Que signifie masquer dans ce contexte?
Jaime Hablutzel
Ça a marché. :) Pouvez-vous s'il vous plaît décrire ce que nous avons fait ici? Je suis juste curieux.
SD.
3
@SD @ jaime-hablutzel Voir askubuntu.com/a/816378/445084 pour une explication de systemctl mask. Longue histoire: masquer un service, le rediriger /dev/null, l'empêchant d'être réactivé dans le cas où il est requis par un autre service.
Timelmer
31

Ne masquez pas et ne désactivez pas le service systemd.

Modifiez /etc/netplan/01-netcfg.yamlet ajoutez optional: truedes périphériques qui ne sont pas toujours disponibles.

sudo netplan apply
utilisateur914826
la source
1
Dans mon cas, cela ne fonctionnait qu'après avoir défini toutes les interfaces sur option: true
duli
1
En quoi cela est-il supérieur à la désactivation du service systemd?
Andreas Hartmann
Pour moi avec Ubuntu 18.04 sur VMware, le fichier correspondant était /etc/netplan/50-cloud-init.yaml; ajout facultatif: true & reboot travaillé! Discussion connexe: askubuntu.com/questions/1090631/… . Informations connexes sur le plan net: linux.com/learn/intro-to-linux/2018/9/… (Configuration de DHCP)
Snidhi Sofpro
Thisx a travaillé pour moi avec Ubuntu 18.04.03 LTS (Desktop) où j'ai désactivé NetworkManager, configuré networkd avec netplan et configuré br0 pour la virtualisation kdvm / qenu et la mise en cache DNS avec dnsmaquerade. Les plus récents n'ont pas trouvé ce qui n'allait pas avec mes réglages, mais les erreurs prennent plus de 2 minutes sans option: true -setting. Avec ce paramètre, le démarrage est normal, de même que la fonctionnalité avec le réseau.
Reijo Korhonen le
9

Ce moyen systemd-networkd-wait-online.serviceest suspendu. Il y a quelques bugs connus avec ça. Vérifiez quels services veulent network-online.targetavec:

systemctl show -p WantedBy network-online.target

Vous pouvez désactiver ces services si vous le souhaitez. Autrement, vous devrez peut-être masquer le service, comme l'a indiqué M.Ecco .

Duncan X Simpson
la source
2

Le masquage systemd-networkd-wait-online.service, comme suggéré dans d'autres réponses, peut aider dans les configurations simples mais ne résout pas le problème. Si vous masquez le service, tous les autres services qui en dépendent échoueront également. Cela signifie que tous les services nécessaires pour attendre que le réseau soit en ligne échoueront.

Je rencontre ce problème car j'utilise une configuration de basculement dynamique pour mes ordinateurs portables avec la liaison des interfaces filaire (enp9s0) et sans fil (wlp12s0) utilisées comme esclaves pour l'interface principale bond0 . Exactement la même situation si vous utilisez un pont ( br0 avec des interfaces esclaves). Seules les interfaces principales bond0 ou br0 seront connectées , mais pas les esclaves, systemd-networkd-wait-online.serviceelles échoueront.

La solution à ce problème consiste à modifier le service et à ne rechercher que les interfaces devant être mises en ligne. Vous trouverez avec:

~$ 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

Le programme systemd-networkd-wait-online a un paramètre pour tester des interfaces spécifiques. Vérifiez avec /lib/systemd/systemd-networkd-wait-online --help. Je crée donc un fichier dans le fichier pour modifier le service:

~$ sudo systemctl edit systemd-networkd-wait-online.service

Dans l'éditeur vide, insérez ces instructions, bien sûr avec votre interface, enregistrez-les et quittez l'éditeur:

[Service]
ExecStart=
ExecStart=/lib/systemd/systemd-networkd-wait-online --interface=bond0 --quiet

Le vide ExecStart=est important car il désactive la "vieille" commande. Vous pouvez vérifier plus que sur l'interface (consultez l'aide).

Ingo
la source
Excellent, très bonne réponse, c’est exactement mon problème
Kaklon le