Ich habe den Namen meiner eth1
Benutzeroberfläche in geändert eth0
. Wie kann udev
ich jetzt fragen, ob ich die Konfiguration noch einmal lesen soll?
service udev restart
und
udevadm control --reload-rules
hilf nicht. Gibt es also eine gültige Möglichkeit außer einem Neustart? (Ja, Neustart hilft bei diesem Problem)
Ja, ich weiß, dass ich den Befehlen voranstellen sollte
sudo
, aber jeder der oben genannten Befehle ändert nichts an derifconfig -a
Ausgabe: Ich sehe immer nocheth1
, nichteth0
.Ich habe gerade die
NAME
Eigenschaft von udev-rule line geändert . Ich kenne keinen Grund dafür, dass dies unwirksam ist.
Es gibt keinen Fehler beim Ausführen der beiden Befehle, die ich oben gepostet habe, aber sie ändern nur nicht den tatsächlichen Schnittstellennamen in der ifconfig -a
Ausgabe. Wenn ich einen Neustart durchführe, ändert sich der Name der Schnittstelle wie erwartet.
Zu Entwicklungszwecken schreibe ich ein Skript, das virtuelle Maschinen (VirtualBox-gesteuert) klont und auf irgendeine Weise voreinstellt.
Also führe ich einen Befehl zum Klonen der VM aus, starte sie und füge, solange der MAC der Netzwerkschnittstelle geändert wird, udev
die zweite Regel zu den persistenten Netzwerkregeln hinzu. Gleich nach dem ersten Start der Maschine gibt es zwei Regeln:
eth0
, der nicht existiert, solange er im ursprünglichen VM-Image MAC existierteth1
, was existiert, aber die gesamte Konfiguration in allen Dateien bezieht sich aufeth0
, also ist es nicht so gut für mich
Also sed
lösche ich mit die Zeile eth0
(sie ist im geklonten Image veraltet und unbrauchbar) und ersetze eth1
mit eth0
. Also momentan habe ich eine gültige persistente Regel, aber es ist immer noch eth1
in /dev
.
Das Problem: Ich möchte den Computer nicht neu starten (es wird eine andere Zeit dauern, was beim Erstellen von VMs nicht gut ist) und möchte meinen /dev
Computer nur mit einigen Befehlen neu erstellen lassen, damit ich eine einsatzbereite VM habe ohne Neustart.
quelle
eth1
zueth0
? Haben Sie die Gerätedatei gerade umbenannt? In diesem Fall ist dies keine effektive Methode (und Sie sollten erwarten, dass die Änderung durch einen erfolgreichen Neustart desudev
Daemons zurückgesetzt wird). Wenn Sie eine andere Methode verwendet haben, beschreiben Sie diese bitte ausführlich und geben Sie den vollständigen und genauen Text aller Fehlermeldungen an, die beim Ausführen der von Ihnen ausgeführten Befehle angezeigt werden (zum Neustarten desudev
Dämons oder zum Neuladen seiner Regeln). Sie können Ihre Frage bearbeiten, um diese Informationen bereitzustellen.udev
generiert dynamisch Ihre Geräte in/dev
. Wenn Sie es neu starten, werden sie gemäß den Regeln neu generiert. Direkt an ihnen vorgenommene Änderungen sind im Allgemeinen nicht dauerhaft. Es sieht so aus, als würde ein Neustart problemlosudev
funktionieren, aber Sie haben die Gerätenamen einfach nicht richtig geändert.udev
nur neue Regeln hinzu (ändert sie nicht) , wenn sie die für ein bestimmtes Gerät nicht finden können. Wenn eine Regel zutrifft, folgt sie ohne Änderungen.Antworten:
Ich weiß nicht, ob dies beim erneuten Laden der Netzwerkkonfiguration hilfreich ist, aber als ich die Änderung vorgenommen habe
/etc/udev/rules.d/70-persistent-cd.rules
, um den DVD-Geräte-Link von/dev/dvd1
auf zu korrigieren/dev/dvd
, musste ich ausführenum die neuen links erstellen zu lassen.
quelle
sudo udevadm trigger --action=change
ist sicherer, wie in dieser E-Mail beschrieben, was sicher ist und was nichtudev
: lists.ubuntu.com/archives/ubuntu-devel/2009-January/027260.html/etc/udev/rules.d/70-persistent-net.rules
udevadm trigger
hat meine X11-Sitzung gesperrt und mich zurück zum Anmeldebildschirm geworfen.Sie müssen alle hier gegebenen Ratschläge in der richtigen Reihenfolge kombinieren:
service networking stop
lspci -v
und suchen Sie nach "Verwendeter Kerneltreiber:".modprobe -r <driver module>
udevadm control --reload-rules
udevadm trigger
modprobe <driver module>
service networking start
iptables
Skripts, die auf deneth
Schnittstellennamen verwiesen haben , erneut aus, bevor dieser aktiv war.Ich vermute, dass entweder Schritt 4 oder Schritt 5 nicht wirklich erforderlich ist, aber diese Schritte haben bei mir funktioniert. Sie können nach Schritt 4 mit Schritt 2.1 überprüfen, ob der Auslösebefehl bereits Schritt 5 ausgeführt hat. Bearbeiten Sie diese Antwort, um Ihre Ergebnisse widerzuspiegeln, wenn Sie dies tun.
quelle
/etc/network/interfaces
(so lässt Network Manager sie in Ruhe): Alles, was ich tun musste, war zu bearbeiten und/etc/udev/rules.d/70-persistent-net.rules
dann # 2, # 3, # 5 zu tun . Keine Notwendigkeit, alle Netzwerke zu stoppen; nichts anderes nötig.Ich hatte ein ähnliches Problem. Da ich mir nicht die Zeit für einen Neustart nehmen wollte, fuhr ich einen Einzeiler nach Chris Wesselings Vorschlag.
Dies funktionierte für mich mit Ubuntu 12.04.02 Server. Meine NICs verwendeten den tg3-Kernelmodultreiber. Ändern Sie daher tg3 in das Modul, das Ihre Schnittstellen verwenden. Ich habe meine gefunden in
/etc/udev/rules.d/70-persistent-net.rules
:Das einzige Problem, das ich hatte, war eine schlechte Route, die ich mit einem einfachen Befehl zum Hinzufügen von Routen behoben habe. Danke für die Hilfe Chris!
quelle
Das hat bei mir geklappt (ohne Neustart)
Ein großes Lob an den Autor dieser Seite: http://memoryfail.wordpress.com/2013/04/02/renaming-network-device-names/
quelle
sudo /etc/init.d/udev restart
sollte den Trick machen. Einige der Befehle, die Sie ausprobiert hatten,sudo
sind möglicherweise ebenfalls wirksam.quelle
ifconfig -a
zeigt mir noch alteeth1
SchnittstelleDies sollte es sicher tun:
Da ich diesen Befehl ohne Probleme verwendet habe.
quelle
ifconfig -a
zeigt mir noch alteeth1
SchnittstelleIch habe dies für eine Weile aus dem gleichen Grund untersucht und konnte keine Möglichkeit finden, den Namen der Netzwerkschnittstelle in einem Live-System zu ändern.
Die Problemumgehung besteht darin, die Datei /etc/udev/rules.d/70-persistent-net.rules in der Vorlage zu löschen. Dies bedeutet, dass beim nächsten Start eine Netzwerkkarte als eth0 angezeigt wird.
quelle
Sie müssen udev neu laden , um die Regeländerung auszulösen. Das Gerät wird jedoch erst umbenannt, wenn Sie das Treibermodul entladen / neu laden.
Also sollte
modprobe -r e1000 && modprobe e1000
nach udev reload der Trick sein. Tun Sie dies natürlich nicht, wenn Sie das Netzwerk benötigen und nur über e1000-Schnittstellen verfügen.quelle
Es funktioniert , wenn Sie hier eine Linkbeschreibung eingeben
quelle
Daher wechsle ich bei VirtualBox mit Ubuntu 12.04 häufig zwischen Ethernet und Wireless.
Wenn sich meine Verbindung ändert, muss ich den Bridged Adapter unter Geräte> Netzwerkeinstellungen auswählen. Entweder 'Intel 82579LM Gigabit Network Connection' oder 'Intel Centrino Ultimate-N 6300 AGN'.
Danach kann ich rennen
Dies ist nur eine Erklärung meiner Ergebnisse, nachdem ich alle Antworten oben gelesen habe.
quelle