Можно ли перезапустить 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, чтобы жить.

2 ответа

Решение

Вы можете сделать это с помощью 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.

Другие вопросы по тегам