Назад | Перейти на главную страницу

Можно ли «перезапустить» udev без перезагрузки?

В общем случае допустим, что виртуальный адаптер для eth0 был удален и заменен другим. Либо из-за клонирования, либо из-за недавнего всплеска конфликтов MAC-адресов. [Да сыпь из них.]

Обычно я просто rm /etc/udev/rules.d/70-persistent-net-rules и убедитесь, что ничего в / etc / sysconfig / network * не содержит ссылки на MAC-адрес и перезагрузка, но это Linux и должен быть способ избежать перезагрузки.

Есть ли команда, которую я могу запустить, чтобы получить новую сетевую карту?

редактировать

В дополнение к ответу @dawud ниже я столкнулся с проблемой на моей тестовой виртуальной машине, где она уже загрузилась с новым устройством на месте и получила имя eth1 в таком случае udevadm не похоже, чтобы «освободить» устройство. В этом случае я сделал следующее:

  1. Получите MAC-адрес устройства из VSphere.
  2. Создать / редактировать /etc/iftab с линией eth0 mac ##:##:##:##:##:## подставив MAC-адрес. ifrename похоже, не нравится, когда этот файл не существует / содержит имя интерфейса назначения.
  3. ifrename -i eth1 -n eth0
  4. service network restart и eth0 запустился нормально.
  5. [По желанию] rm /etc/iftab так что MAC на одно место меньше.

Вы можете сделать это, используя udevadm trigger

Вам по-прежнему необходимо удалить постоянные правила и перезапустить сетевую службу.

Для меня приведенная ниже последовательность команд сработала, как ожидалось.

Я внес изменения в /etc/udev/rules.d/70-persistent-net.rules изменить eth номер и перезагружать их без перезагрузки.

/etc/init.d/networking stop

/etc/init.d/udev stop

udevadm control --reload-rules

/etc/init.d/udev start

/etc/init.d/networking start

После этого он успешно загрузился без перезагрузки машины.

Любые предложения или рекомендации по этому поводу приветствуются, я обнаружил это самостоятельно, прочитав страницы MAN.