Как Вы изменяете правила udev, не перезапуская (например, изменить eth1 на eth0)?

TLDR; Как Вы применяете изменения в /etc/udev/rules.d/70-persistent-net.rules без перезапуска? (См. эту документацию о логических именах интерфейса Ethernet.)

Долгая версия:

У меня есть загрузочная карта флэш-памяти с интерфейсом USB, выполняющая изображение, сделанное remastersys 11,04. Я хочу смочь использовать эту загрузочную Карту памяти для выполнения сервера DHCP от любого компьютера. Чтобы сделать это, я должен присвоить статический IP-адрес eth0 в /etc/network/interfaces и ссылка eth0 в /etc/default/isc-dhcp-server.

Однако сетевой плате присваивают ethX на основе MAC-адреса, таким образом, это только работает над первым компьютером, где карта флэш-памяти с интерфейсом USB используется - NIC каждого последующего компьютера присвоят eth1, eth1, и т.д.

Кажется, что существует две стратегии, которые могли работать для решения этой проблемы:

  1. Динамично перепишите /etc/network/interfaces и /etc/default/isc-dhcp-server на основе первого ethX это подходит, когда Вы работаете ifconfig - это должно быть любым NIC, находится на самом деле в компьютере.
  2. Переписать /etc/udev/rules.d/70-persistent-net.rules так, чтобы независимо от того, что MAC-адрес был присвоен NIC, назван eth0.

Я знаю, что могу сделать № 1, потому что изменения в этих файлах могут быть применены путем перезапуска networking и isc-dhcp-server.

Однако № 2 кажется инструментом для очистки мне, как я полагаю /etc/udev/rules.d/70-persistent-net.rules создаст набор грязи, поскольку эта Карта памяти используется в различных компьютерах.

Любая справка ценилась бы.

4
задан 15 June 2011 в 19:28

1 ответ

Я закончил тем, что шел с опцией № 1 (динамично переписывающий различные файлы конфигурации, для которых был нужен ethX). Это было легко сделать с простым сценарием Ruby.

Если сценарий, делающий динамическое, переписывает, startup.rb, Я создал названную обертку startup-wrapper.rb это называет фактический сценарий с exec 'sudo startup.rb' так, чтобы startup.rb выполнения с корневыми полномочиями.

Я затем создал запись в Приложениях Запуска со следующей командой: gnome-terminal -e /path/to/startup-wrapper.rb. Это предложит пользователю их пароль для sudo на начальной загрузке.

0
ответ дан 1 December 2019 в 12:38

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

Похожие вопросы: