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