Я изменил название моего eth1
интерфейса на eth0
. Как попросить udev
сейчас перечитать конфиг?
service udev restart
а также
udevadm control --reload-rules
не помогает Так есть ли другой способ, кроме перезагрузки? (да, перезагрузка помогает с этой проблемой)
да, я знаю, что я должен добавить к ним команды
sudo
, но то, что я выложил выше, ничего не меняет вifconfig -a
выводе: я все еще вижуeth1
, нетeth0
.Я просто изменил
NAME
свойство строки udev-rule. Не знаю причин, по которым это неэффективно.
Там нет никаких ошибок при выполнении обеих команд, которые я опубликовал выше, но они просто не меняют фактическое имя интерфейса в ifconfig -a
выводе. Если я выполню перезагрузку - тогда имя интерфейса изменится как положено.
В целях разработки я пишу некоторый скрипт, который клонирует виртуальные машины (на основе VirtualBox) и каким-то образом предварительно их настраивает.
Поэтому я выполняю команду для клонирования ВМ, запуска ее и до тех пор, пока изменяется сетевой интерфейс MAC - udev
добавляет второе правило в постоянные правила сети. Сразу после первой загрузки машины действуют 2 правила:
eth0
, который не существует, пока он существовал в исходном образе виртуальной машины MACeth1
, который существует, но все настройки во всех файлах относитсяeth0
, так что это не так хорошо для меня
Поэтому я sed
удаляю строку с eth0
(она устарела и бесполезна в клонированном изображении) и заменяю eth1
на eth0
. Так в настоящее время у меня есть действительное постоянное правило, но есть еще eth1
в /dev
.
Проблема: я не хочу перезагружать машину (это займет другое время, что не очень хорошо на этапе сборки виртуальной машины), и я просто хочу /dev
перестроить мою команду, чтобы у меня была готовая к использованию виртуальная машина без перезагрузок.
udev
динамически генерирует ваши устройства в /dev
. Если вы перезапустите его, он восстановит их в соответствии со своими правилами. Изменения, сделанные непосредственно к ним, вообще говоря, не являются постоянными. Похоже, перезапуск udev
работает нормально, но вы просто не изменили имена устройств должным образом.
udev
добавляет (не изменяет) новые правила, только если не может найти правило для конкретного устройства. Если есть правило, которое соответствует - оно просто следует без изменений.
eth1
наeth0
? Вы только что переименовали файл устройства? Если это так, это не эффективный способ сделать это (и вы должны ожидать, что изменение будет отменено после успешного перезапускаudev
демона). Если вы использовали какой-то другой метод, пожалуйста, опишите его подробно, а также укажите полный и точный текст всех сообщений об ошибках, которые вы видите при запуске команд, которые вы пробовали (для перезапускаudev
демона или перезагрузки его правил). Вы можете отредактировать свой вопрос, чтобы предоставить эту информацию.