Я изменил название моего 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
перестроить мою команду, чтобы у меня была готовая к использованию виртуальная машина без перезагрузок.
источник
eth1
наeth0
? Вы только что переименовали файл устройства? Если это так, это не эффективный способ сделать это (и вы должны ожидать, что изменение будет отменено после успешного перезапускаudev
демона). Если вы использовали какой-то другой метод, пожалуйста, опишите его подробно, а также укажите полный и точный текст всех сообщений об ошибках, которые вы видите при запуске команд, которые вы пробовали (для перезапускаudev
демона или перезагрузки его правил). Вы можете отредактировать свой вопрос, чтобы предоставить эту информацию.udev
динамически генерирует ваши устройства в/dev
. Если вы перезапустите его, он восстановит их в соответствии со своими правилами. Изменения, сделанные непосредственно к ним, вообще говоря, не являются постоянными. Похоже, перезапускudev
работает нормально, но вы просто не изменили имена устройств должным образом.udev
добавляет (не изменяет) новые правила, только если не может найти правило для конкретного устройства. Если есть правило, которое соответствует - оно просто следует без изменений.Ответы:
Я не знаю, помогает ли это перезагрузить конфигурацию сети, но когда я изменил,
/etc/udev/rules.d/70-persistent-cd.rules
чтобы исправить ссылку на устройство DVD от/dev/dvd1
к/dev/dvd
, мне пришлось запуститьчтобы получить новые ссылки созданы.
источник
sudo udevadm trigger --action=change
что безопаснее, согласно этому письму, о том, что безопасно и небезопасно делатьudev
: lists.ubuntu.com/archives/ubuntu-devel/2009-January/027260.html/etc/udev/rules.d/70-persistent-net.rules
udevadm trigger
заблокировал мой сеанс X11 и выкинул меня обратно на экран входа в систему.Вы должны объединить все приведенные здесь советы в правильном порядке:
service networking stop
lspci -v
и найдите «Используемый драйвер ядра:»modprobe -r <driver module>
udevadm control --reload-rules
udevadm trigger
modprobe <driver module>
service networking start
iptables
сценарии, которые ссылались наeth
имя интерфейса до его запуска .Я подозреваю, что шаг 4 или шаг 5 действительно не нужны, но эти шаги сработали для меня. После шага 4 с шагом 2.1 вы можете проверить, выполнила ли команда триггера шаг 5, отредактируйте этот ответ, чтобы отразить ваши выводы, если вы это сделаете.
источник
/etc/network/interfaces
(так что Network Manager оставляет их в покое): все, что мне нужно было сделать, это отредактировать,/etc/udev/rules.d/70-persistent-net.rules
затем выполнить # 2, # 3, # 5. Не нужно останавливать все сети; больше ничего не нужно.У меня была похожая проблема. Поскольку я не хотел тратить время на перезагрузку, я руководил одним вкладышем, используя предложение Криса Весселинга.
Это работало для меня, используя сервер Ubuntu 12.04.02. Мои nics использовали драйвер модуля ядра tg3, поэтому замените tg3 на модуль, который используют ваши интерфейсы. Я нашел те, которые используются в
/etc/udev/rules.d/70-persistent-net.rules
:Единственной проблемой, с которой я столкнулся, был плохой маршрут, который я исправил простой командой добавления маршрута. Спасибо за помощь, Крис!
источник
Это работало для меня (без перезагрузки)
Престижность автору этой страницы: http://memoryfail.wordpress.com/2013/04/02/renaming-network-device-names/
источник
sudo /etc/init.d/udev restart
должен сделать свое дело. Некоторые из команд, которые вы пробовали, если они выполняютсяsudo
, также могут быть эффективными.источник
ifconfig -a
все еще показывает мне старыйeth1
интерфейсЭто должно сделать это безопасно:
Как я использовал эту команду без проблем.
источник
ifconfig -a
все еще показывает мне старыйeth1
интерфейсНекоторое время я занимался этим с одной и той же целью, и мне не удалось найти способ изменить имя сетевого интерфейса в работающей системе.
Обходной путь, к которому я прибег, - это удалить файл /etc/udev/rules.d/70-persistent-net.rules в шаблоне, что означает, что при следующей загрузке он увидит любую сетевую карту как eth0.
источник
Вам нужно перезагрузить udev, чтобы вызвать изменение правила, но устройство не будет переименовано, если вы не выгрузите / перезагрузите модуль драйвера.
Так что
modprobe -r e1000 && modprobe e1000
после перезагрузки udev нужно сделать свое дело. Конечно, не делайте этого, если вам нужна сеть и у вас есть только интерфейсы e1000.источник
это будет работать, введите описание ссылки здесь
источник
Так что для меня на VirtualBox с Ubuntu 12.04 я часто переключаюсь между Ethernet и беспроводной.
Поэтому, когда мое соединение меняется, я должен выбрать Bridged Adapter в разделе «Устройства»> «Настройки сети». Либо «Intel 82579LM Gigabit Network Connection», либо «Intel Centrino Ultimate-N 6300 AGN».
После этого я могу запустить
Это просто объяснение моих результатов после прочтения всех ответов выше.
источник