Можно ли перезапустить udev без перезагрузки?
Для общего случая скажем, что виртуальный адаптер для eth0 был удален и заменен другим. Либо из-за клонирования, либо, с недавних пор, ряда конфликтов MAC-адресов. [Да, сыпь из них.]
Обычно я просто rm /etc/udev/rules.d/70-persistent-net-rules и убедитесь, что ничто в /etc/sysconfig/network* не содержит ссылку на MAC-адрес и перезагрузку, но это Linux и должен быть способ избежать перезагрузки.
Есть ли команда, которую я могу запустить, чтобы забрать новый сетевой адаптер?
редактировать
В дополнение к ответу @dawud, приведенному ниже, я столкнулся с проблемой на моей тестовой виртуальной машине, когда она уже загрузилась с новым устройством и получила имя eth1 в таком случае udevadm похоже, не "отпускает" устройство. В этом случае я сделал следующее:
- Получить MAC-адрес устройства от VSphere.
- Создание / редактирование
/etc/iftabс линиейeth0 mac ##:##:##:##:##:##подставляя в MAC-адрес.ifrenameПохоже, ему не нравится, когда этот файл не существует / содержит имя целевого интерфейса. ifrename -i eth1 -n eth0service network restartи eth0 запустился нормально.- [Необязательный]
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.