Zmieniłem nazwę mojego eth1
interfejsu na eth0
. Jak poprosić udev
teraz o ponowne przeczytanie konfiguracji?
service udev restart
i
udevadm control --reload-rules
nie pomagaj. Czy jest więc jakikolwiek ważny sposób oprócz ponownego uruchomienia? (tak, ponowne uruchomienie pomaga rozwiązać ten problem)
tak, wiem, że powinienem poprzedzać polecenia
sudo
, ale jedno z powyższych wpisów nie zmienia niczego wifconfig -a
danych wyjściowych: wciąż widzęeth1
, nieeth0
.Właśnie zmieniłem
NAME
właściwość linii udev-rule. Nie znam żadnego powodu, aby to było nieskuteczne.
Nie ma żadnego błędu w wykonywaniu obu poleceń, które opublikowałem powyżej, ale po prostu nie zmieniają one rzeczywistej nazwy interfejsu w ifconfig -a
danych wyjściowych. Jeśli wykonam restart, to nazwa interfejsu zmieni się zgodnie z oczekiwaniami.
Dla celów programistycznych piszę skrypt, który klonuje maszyny wirtualne (oparte na VirtualBox) i w pewien sposób wstępnie je konfiguruje.
Wykonuję więc polecenie, aby sklonować maszynę wirtualną, uruchomić ją i dopóki zmieni się MAC interfejsu sieciowego - udev
dodaje drugą regułę do reguł trwałych sieci. Zaraz po pierwszym uruchomieniu komputera obowiązują 2 reguły:
eth0
, który nie istnieje, o ile istniał w oryginalnym obrazie MAC maszyny wirtualnejeth1
, który istnieje, ale odnosi się do całej konfiguracji we wszystkich plikacheth0
, więc nie jest to dla mnie tak dobre
Więc sed
usuwam wiersz z eth0
(jest on przestarzały i bezużyteczny w sklonowanym obrazie) i zastępuję eth1
go eth0
. Więc obecnie mam ważną regułę trwałą, ale wciąż jest eth1
w niej /dev
.
Problem: nie chcę ponownie uruchamiać maszyny (zajmie to inny czas, co nie jest dobre w przypadku budowania etapu VM) i chcę po prostu /dev
przebudować moją komendę, aby mieć gotową do użycia maszynę VM bez żadnych restartów.
źródło
eth1
, abyeth0
? Czy właśnie zmieniłeś nazwę pliku urządzenia? Jeśli tak, to nie jest to skuteczny sposób (należy oczekiwać, że zmiana zostanie cofnięta po pomyślnym zrestartowaniuudev
demona). Jeśli użyłeś innej metody, opisz ją szczegółowo, a także podaj pełny i dokładny tekst komunikatów o błędach, które widzisz po uruchomieniu wypróbowanych poleceń (w celu ponownego uruchomieniaudev
demona lub przeładowania jego reguł). Możesz edytować swoje pytanie, aby podać te informacje.udev
dynamicznie generuje Twoje urządzenia/dev
. Jeśli uruchomisz go ponownie, zregeneruje je zgodnie z jego zasadami. Zmiany wprowadzone bezpośrednio do nich nie są na ogół trwałe. Wygląda na to, że ponowne uruchomienieudev
działa poprawnie, ale po prostu nie zmieniłeś poprawnie nazw urządzeń.udev
dodaje (nie modyfikuje) nowe reguły tylko wtedy, gdy nie może znaleźć tej dla konkretnego urządzenia. Jeśli istnieje reguła, która pasuje - po prostu przestrzega jej bez modyfikacji.Odpowiedzi:
Nie wiem, czy to pomaga w przeładowaniu konfiguracji sieci, ale kiedy zmodyfikowałem,
/etc/udev/rules.d/70-persistent-cd.rules
aby poprawić łącze urządzenia DVD od/dev/dvd1
do/dev/dvd
, musiałem uruchomićaby uzyskać nowe linki utworzone.
źródło
sudo udevadm trigger --action=change
jest bezpieczniejszy, zgodnie z tym e-mailem na temat tego, co jest bezpieczne i nie jest bezpieczneudev
: lists.ubuntu.com/archives/ubuntu-devel/2009-/etc/udev/rules.d/70-persistent-net.rules
udevadm trigger
zablokowałem moją sesję X11 i wróciłem do ekranu logowania.Musisz połączyć wszystkie podane tutaj porady we właściwej kolejności:
service networking stop
lspci -v
i wyszukaj „Używany sterownik jądra:”modprobe -r <driver module>
udevadm control --reload-rules
udevadm trigger
modprobe <driver module>
service networking start
iptables
skrypty, które odwoływały się doeth
nazwy interfejsu przed jego uruchomieniem.Podejrzewam, że krok 4 lub krok 5 nie jest tak naprawdę potrzebny, ale te kroki działały dla mnie. Możesz sprawdzić po kroku 4 z krokiem 2.1, aby sprawdzić, czy polecenie wyzwalające już wykonało krok 5, edytuj tę odpowiedź, aby odzwierciedlić swoje ustalenia, jeśli tak zrobisz.
źródło
/etc/network/interfaces
(więc Network Manager zostawia je same): Wszystko, co musiałem zrobić, to edytować,/etc/udev/rules.d/70-persistent-net.rules
a następnie zrobić # 2, # 3, # 5. Nie trzeba przerywać wszystkich sieci; nie potrzeba nic więcej.Miałem podobny problem. Ponieważ nie chciałem tracić czasu na ponowne uruchomienie, uruchomiłem jeden liner, korzystając z sugestii Chrisa Wesselinga.
To działało dla mnie przy użyciu serwera Ubuntu 12.04.02. Moje karty sieciowe używały sterownika modułu jądra tg3, więc zmień tg3 na moduł, którego używają twoje interfejsy. Znalazłem te używane w
/etc/udev/rules.d/70-persistent-net.rules
:Jedynym problemem, który miałem, była zła trasa, którą naprawiłem prostym poleceniem dodawania trasy. Dzięki za pomoc Chris!
źródło
To zadziałało dla mnie (bez ponownego uruchamiania)
Wyrazy uznania dla autora tej strony: http://memoryfail.wordpress.com/2013/04/02/renaming-network-device-names/
źródło
sudo /etc/init.d/udev restart
powinien załatwić sprawę. Niektóre polecenia, które wypróbowałeś, jeśli zostaną uruchomionesudo
, również mogą być skuteczne.źródło
ifconfig -a
wciąż pokazuje mi staryeth1
interfejsTo powinno zrobić to bezpiecznie:
Ponieważ użyłem tego polecenia bez żadnych problemów.
źródło
ifconfig -a
wciąż pokazuje mi staryeth1
interfejsBadam to od dłuższego czasu w tym samym celu i nie znalazłem sposobu na zmianę nazwy interfejsu sieciowego w systemie na żywo.
Obejściem, dla którego wybrałem jest usunięcie pliku /etc/udev/rules.d/70-persistent-net.rules w szablonie, co oznacza, że przy następnym uruchomieniu zobaczy każdą kartę sieciową jako eth0.
źródło
Musisz ponownie załadować udev, aby wywołać zmianę reguły, ale nazwa urządzenia nie zostanie zmieniona, dopóki nie rozładujesz / przeładujesz modułu sterownika.
Więc
modprobe -r e1000 && modprobe e1000
po udev przeładowanie powinno załatwić sprawę. Oczywiście nie rób tego, jeśli potrzebujesz sieci i masz tylko interfejsy e1000.źródło
to zadziała, wpisz opis linku tutaj
źródło
Tak więc dla mnie w VirtualBox z Ubuntu 12.04 często przełączam się między siecią Ethernet i bezprzewodową.
Więc kiedy moje połączenie się zmieni, muszę wybrać Bridged Adapter z Urządzenia> Ustawienia sieciowe. Albo „Intel 82579LM Gigabit Network Connection”, albo „Intel Centrino Ultimate-N 6300 AGN”.
Po zrobieniu tego mogę biegać
To jest tylko wyjaśnienie moich wyników po przeczytaniu wszystkich powyższych odpowiedzi.
źródło