Zmieniłem nazwę mojego eth1interfejsu na eth0. Jak poprosić udevteraz 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 -adanych wyjściowych: wciąż widzęeth1, nieeth0.Właśnie zmieniłem
NAMEwł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 -adanych 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 - udevdodaje 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 sedusuwam wiersz z eth0(jest on przestarzały i bezużyteczny w sklonowanym obrazie) i zastępuję eth1go eth0. Więc obecnie mam ważną regułę trwałą, ale wciąż jest eth1w 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 /devprzebudować moją komendę, aby mieć gotową do użycia maszynę VM bez żadnych restartów.
udevdynamicznie 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 uruchomienie udevdział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.
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 zrestartowaniuudevdemona). 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 uruchomieniaudevdemona lub przeładowania jego reguł). Możesz edytować swoje pytanie, aby podać te informacje.