web-dev-qa-db-fra.com

Pourquoi network-manager ne démarre-t-il pas?

Je pense que cela a commencé il y a quelques mois lorsque je suis passé de 10.04 à 12.04.

À chaque redémarrage, le gestionnaire de réseau ne démarre pas. Je dois exécuter manuellement Sudo start network-manager, puis tout fonctionne bien.

Choses que j'ai déjà essayées (redémarrage après chaque tentative de réparation):

  • Vérifié que tous les liens /etc/rc*.d/*network-manager existent comme ils le devraient.
  • Le fichier de configuration par défaut de network-manager mentionnant local-filesystems et mon fstab ayant une référence à un disque dur USB non connecté, j'ai commenté cette ligne du fstab.
  • Sudo dpkg-reconfigure network-manager puis Sudo apt-get install --reinstall network-manager
  • J'ai cherché dans syslog des indices, je n'ai rien vu qui ressorte.

Je ne pense pas avoir modifié /etc/init/network-manager.conf, mais le voici pour référence:

# network-manager - network connection manager
#
# The Network Manager daemon manages the system's network connections,
# automatically switching between the best available.

description "network connection manager"

start on (local-filesystems
      and started dbus
      and static-network-up)
stop on stopping dbus

expect fork
respawn

script
    # set $LANG so that messages appearing on the GUI will be translated. See LP: 875017
    if [ -r /etc/default/locale ]; then
        . /etc/default/locale
        export LANG LANGUAGE LC_MESSAGES LC_ALL
    fi

    exec NetworkManager
end script
10
bstpierre

La section 'démarrer sur' vous permet de savoir quels événements doivent être émis avant que upstart ne lance le gestionnaire de réseau.

Dans ce cas c'est:

  • systèmes de fichiers locaux
  • dbus
  • statique-réseau-up

Les chances sont les deux premières ont déjà été émises si vous avez démarré sur un bureau.

static-network-up est émis par le /etc/network/if-up.d/upstart script, mais l'événement ne sera pas émis à moins que every l'interface configurée en tant que 'auto' dans /etc/network/interfaces soit active.

Dans mon cas, il me restait une entrée restante pour eth0 dans /etc/network/interfaces qui était configurée pour utiliser DHCP, mais comme aucun réseau Ethernet n'était connecté à eth0, DHCP ne pourrait jamais réussir.

Vous pouvez dire à upstart d'émettre des événements et l'utiliser pour vérifier si c'est l'événement static-network-up qui manque.

  • Redémarrez votre ordinateur et ne démarrez pas le gestionnaire de réseau
  • man initctl (vous devez exécuter la commande emit avec Sudo afin d'exécuter tout d'abord man initctl pour vérifier les commandes postées sur Internet)
  • Sudo initctl emit static-network-up (vous devrez peut-être Ctrl+C ceci après un moment)
  • initctl status network-manager (pour vérifier si cela a commencé)

Si cela résout votre problème, vérifiez /etc/network/interfaces, mettez en commentaire tout autre que:

 auto lo 
 iface lo inet loopback 

Ensuite, redémarrez et, espérons-le, le gestionnaire de réseau démarrera comme prévu.

15
Gordon

Sur mon Arch Linux, je devais exécuter la commande suivante. Désormais, NetworkManager démarre automatiquement:

systemctl enable NetworkManager

Cela permet à NetworkManager d'être exécuté au démarrage. C'est ce que je comprends.

5
Sufian

Avait le même problème, mais aucune des solutions proposées (y compris certaines d'autres forums) n'a aidé.

Quoi qu'il en soit, après avoir lu réponse de Gordon , j'ai simplement supprimé la ligne and static-network-up de /etc/init/network-manager.conf. Ça a marché.

4
Mike

J'ai eu le même problème après avoir changé de thinkpad lors de la réutilisation de l'ancien disque. Il se souvenait encore des anciennes adresses MAC. J'ai dû les supprimer manuellement dans /etc/udev/rules.d/70-persistent-net.rules, ce qui a résolu le problème pour moi.

2
Roman Pletka

Une solution de contournement simple consiste à modifier / etc/rc.local afin de démarrer NetworkManager chaque fois que vous démarrez votre ordinateur. Cela ne résout pas vraiment le problème fondamental, mais cela rend les choses simples et fonctionnelles pour moi.

Tout d'abord, exécutez cette commande:

Sudo vim /etc/rc.local

Ensuite, le contenu devrait ressembler à ceci:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

#Sleeping a little might be necessary to let it catch up the boot. 
#However, for me, this sleep was a useless overhead.
#sleep 3 
service network-manager restart

exit 0
0
Michael Fayad

Idem ici le 12.04 - j'ai fait:

Sudo -s
mv /etc/udev/rules.d/70-persistent-net.rules ~/
touch /etc/udev/rules.d/70-persistent-net.rules
reboot

Fixé!

Vous pouvez également éditer manuellement ce fichier et corriger les adresses mac ...

0
epek

pour Ubuntu 14.04 obtenu des "applications de démarrage" frappées à la maison, cliquez sur add name-networks cmd-Sudo service network-manager restart commant- - [son travail ne concerne que les paramètres réseau valables tels que ips, dns, passerelle, etc.]

0
Vijay Galagali

Depuis le README sur /etc/udev/rules.d:

Les fichiers de ce répertoire sont lus par udev (7) et utilisés lorsque des événements sont effectués par le noyau. Le démon udev surveille ce répertoire avec inotify afin que les modifications apportées à ces fichiers soient automatiquement prises en compte , pour cette raison, ils doivent être des fichiers et non des liens symboliques vers un autre emplacement, comme dans le cas de Debian.

plus loin:

Ecrivez vos propres règles dans ce répertoire qui attribuent le nom, les liens symboliques, les autorisations, etc. que vous souhaitez. Choisissez un nombre supérieur aux règles que vous souhaitez remplacer, et le vôtre sera utilisé.

donc s'il vous plaît, ne pas , comme décrit dans @epek réponse , copier/coller des fichiers, mais ajoutez simplement un autre fichier avec un supérieur entier au début du nom de fichier. Par exemple.

// Ubuntu core:
70-persistent-net.rules
// Custom overrides and/or additions:
80-persistent-net.rules
0
kaiser