Warum startet der Netzwerkmanager nicht beim Booten?

10

Ich glaube, das hat vor ein paar Monaten angefangen, als ich von 10.04 auf 12.04 aktualisiert habe.

Bei jedem Neustart wird der Netzwerkmanager nicht gestartet. Ich muss manuell laufen sudo start network-manager, und dann funktioniert alles gut.

Dinge, die ich bereits versucht habe (Neustart nach jedem versuchten Fix):

  • Es wurde überprüft, ob alle Links zu /etc/rc*.d/*network-manager so vorhanden sind, wie sie sollten.
  • Da in der Upstart-Konfigurationsdatei des Netzwerkmanagers erwähnt local-filesystemswird und mein fstab einen Verweis auf eine USB-Festplatte hatte, die nicht angeschlossen ist, habe ich diese Zeile aus dem fstab heraus kommentiert.
  • sudo dpkg-reconfigure network-manager und dann sudo apt-get install --reinstall network-manager
  • Sah im Syslog nach Hinweisen, sah nichts, was heraussprang.

Ich glaube nicht, dass ich etwas geändert habe /etc/init/network-manager.conf, aber hier ist es als Referenz:

# 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
bstpierre
quelle

Antworten:

15

Im Abschnitt "Start ein" erfahren Sie, welche Ereignisse ausgegeben werden müssen, bevor der Netzwerkmanager von upstart gestartet wird.

In diesem Fall ist es:

  • lokale Dateisysteme
  • dbus
  • statisches Netzwerk

Die Chancen stehen gut, dass die ersten beiden bereits ausgegeben wurden, wenn Sie auf einem Desktop gestartet haben.

Static-Network-Up wird ausgegeben von /etc/network/if-up.d/upstart script, entscheidend ist, dass das Ereignis nicht ausgegeben wird, es sei denn, jede als "Auto" konfigurierte Schnittstelle /etc/network/interfacesist aktiv.

In meinem Fall hatte ich einen verbleibenden Eintrag für eth0, der für /etc/network/interfacesdie Verwendung von DHCP konfiguriert war, aber da kein Ethernet an eth0 angeschlossen war, konnte DHCP niemals erfolgreich sein.

Sie können upstart anweisen, Ereignisse auszugeben, und damit überprüfen, ob das statische Netzwerkereignis fehlt.

  • Starten Sie Ihren Computer neu und starten Sie den Netzwerkmanager nicht
  • man initctl(Sie müssen den Befehl emit mit sudo ausführen man initctl, damit es nicht schadet, ihn auszuführen , um zuerst im Internet veröffentlichte Befehle zu überprüfen.)
  • sudo initctl emit static-network-up(Möglicherweise müssen Sie dies nach einer Weile Ctrl+ C)
  • initctl status network-manager (um zu überprüfen, ob es gestartet wurde)

Wenn dies Ihre Problemprüfung löst /etc/network/interfaces, kommentieren Sie alles andere als:

auto lo
iface lo inet loopback

Starten Sie dann neu und hoffentlich startet der Netzwerkmanager wie erwartet.

Gordon
quelle
Sie haben vollkommen recht, dies ist ein dummes idiotisches Verhalten von NetworkManager, das sich dafür entscheidet, nicht zu starten, weil etwas anderes als loin dieser Datei enthalten ist, selbst wenn WIFI völlig unkonfiguriert bleibt!
Forbesmyester
arbeitete für mich, ziemlich magisch: P
Boh
5

Unter Arch Linux musste ich den folgenden Befehl ausführen und NetworkManagerstartet jetzt automatisch:

systemctl enable NetworkManager

Dies ermöglicht die NetworkManagerAusführung beim Start. Das verstehe ich.

Sufian
quelle
Danke, das hat mein Problem gelöst. Fehlgeschlagen nach Update + Absturz vor dem Neustart. Mint 19.1
Toni Homedes i Saun
4

Hatte das gleiche Problem, aber keine der vorgeschlagenen Lösungen (einschließlich einiger aus anderen Foren) half.

Nachdem ich Gordons Antwort gelesen hatte , löschte ich einfach die and static-network-upZeile aus /etc/init/network-manager.conf. Es funktionierte.

Mike
quelle
Ich denke, das Problem hier ist, dass das statische Netzwerk ausgelöst werden sollte, aber nicht. Sehen Sie eine Boot-Meldung "Warten auf Netzwerkkonfiguration"?
Andy
@Andy, wenn er drahtlos ist, hat er keine statische Schnittstelle. Wenn er auth eth0in seinen Schnittstellen hat, wird es einige Minuten warten, fehlschlagen und das Ereignis niemals auslösen.
Cerin
Ich denke du meinst auto eth0? Während ich einige Minuten warte, wird "Warten auf Netzwerkkonfiguration" angezeigt, deshalb habe ich gefragt.
Andy
2

Ich hatte das gleiche Problem, nachdem ich mein Thinkpad gewechselt hatte, während ich die alte Festplatte wiederverwendete. Es erinnerte sich noch an die alten MAC-Adressen. Ich musste sie manuell in /etc/udev/rules.d/70-persistent-net.rules entfernen, wodurch das Problem für mich behoben wurde.

Roman Pletka
quelle
0

Gleich hier am 12.04 - Ich habe:

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

Fest!

Sie können diese Datei auch manuell bearbeiten und die Mac-Adressen korrigieren ...

epek
quelle
0

Von Anfang READMEan /etc/udev/rules.d:

Die Dateien in diesem Verzeichnis werden von udev (7) gelesen und verwendet, wenn Ereignisse vom Kernel ausgeführt werden. Der udev-Daemon überwacht dieses Verzeichnis mit inotify, sodass Änderungen an diesen Dateien automatisch übernommen werden . Aus diesem Grund müssen es sich um Dateien handeln und dürfen nicht wie in Debian mit einem anderen Speicherort verknüpft sein.

des Weiteren:

Schreiben Sie in dieses Verzeichnis Ihre eigenen Regeln, die den gewünschten Namen, Symlinks, Berechtigungen usw. zuweisen. Wählen Sie eine Zahl, die höher ist als die Regeln, die Sie überschreiben möchten, und Ihre wird verwendet.

Kopieren / fügen Sie daher bitte nicht , wie in @epek answer beschrieben , Dateien ein / fügen Sie sie ein, sondern fügen Sie dort am Anfang des Dateinamens eine weitere Datei mit einer höheren Ganzzahl hinzu. Zum Beispiel

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

für Ubuntu 14.04 bekam Home-Hit "Start-Anwendungen" Hit Add-Name-Netzwerke cmd-Sudo-Service Netzwerk-Manager Neustart Commant- - [seine Arbeit nur gültige Netzwerkeinstellungen wie IPs, DNS, Gateway usw.]

Vijay Galagali
quelle
0

Eine einfache Problemumgehung besteht darin, /etc/rc.local zu bearbeiten , um den NetworkManager bei jedem Start Ihres Computers zu starten. Dies löst das Grundproblem nicht wirklich, aber es hat die Dinge für mich funktional und einfach gemacht.

Führen Sie zunächst diesen Befehl aus:

sudo vim /etc/rc.local

Dann sollte der Inhalt ungefähr so ​​aussehen:

#!/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
Michael Fayad
quelle