Генерировать страницу справочника в в реальном времени?

Это обычно делается MAC-адресом, не адресом PCI.

  1. Если RHEL 5.8 поддерживает/etc/udev/rules.d/70-persistent-net.rules файл, Вы могли бы создать тот.

    Просто скопируйте один с другой машины и отредактируйте ее так, чтобы название правильного устройства было присвоено на основе MAC-адреса.

    Все, в чем Вы действительно нуждаетесь в том файле, является 3 строками как этот: (проигнорируйте любое обертывание строки, это - вся одна строка),

    SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:23:cd:b0:23:b9", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

    Измените ATTR {адрес} и ИМЯ = "eth[012]" для удовлетворения NICs и требованиям.

    Я не уверен, имеет ли RHEL 5.4 или 5.8 его, но это могла бы быть стоящая проверка, чтобы видеть, есть ли у Вас сценарий, названный/lib/udev/write_net_rules - если Вы имеете, просто выполняете его, это генерирует 70 персистентных net.rules файлов, поэтому просто отредактирует НАЗВАНИЕ каждого NIC.

    Можно получить MAC-адреса с ifconfig | grep 'eth.*HWaddr', затем просто вставка копии их в 70 персистентных net.rules файлов.

    Когда это сделано, можно или перезагрузить, или вниз все интерфейсы, разгрузить их модули драйвера ядра, перезагрузить модули (интерфейсы будут теперь иметь свои присвоенные имена устройств), и затем возвратите интерфейсы.

  2. Прежде udev и 70 персистентных net.rules файлов, я раньше использовал названную программу ifrename от пакета беспроводных инструментов (это работает над любым NIC, не просто беспроводной связью). Это использует/etc/iftab файл для переименования сетевых интерфейсов MAC-адресом. Это главным образом работало, но было менее надежным, чем udev метод.

    Я понятия не имею, упаковывается ли это для RHEL или не, но можно найти его по http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html

  3. Я не использовал этот метод для NIC сам, но также возможно использовать udev для персистентного именования устройств на основе адреса PCI. Во-первых, удалите/etc/udev/rules/70-persistent-net.rules, если это существует. Затем создайте новый файл в/etc/udev/rules - возможно, называют это 70-persistent-net-by-pci.rules

    Добавьте строки как следующее:

    ACTION=="add", SUBSYSTEM=="net", BUS=="pci", KERNELS=="0000:03:03.0",    NAME="eth0"
    ACTION=="add", SUBSYSTEM=="net", BUS=="pci", KERNELS=="0000:03:03.1",    NAME="eth1"
    ACTION=="add", SUBSYSTEM=="net", BUS=="pci", KERNELS=="0000:05:03.0",    NAME="eth2"
    

    На некоторых более новых Linux (например, Ubuntu 13.04 или позже) необходимо удалить спецификатор ШИНЫ, таким образом, правило (правила) должно быть похожим:

    ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:03:03.0",    NAME="eth0"
    

    Затем или перезагрузка или разгружает и перезагружает модули драйвера, как описано выше.

    Можно найти больше деталей по http://linux-tips.org/article/73/persistent-device-naming-with-udev - но страница довольно стара и относится к устаревшему udevinfo команда. Использовать udevadm info вместо этого

2
24.12.2013, 21:46
2 ответа

Я никогда не слышал об этом используемом методе и предостерег бы Вас к выполнению чего-то, что, могло бы казаться, имело бы смысл с Вашей точки зрения как разработчик, но на самом деле менее оптимально или неясно от Ваших пользователей и/или администраторов, которые в конечном счете будут пользователями/поддержками Вашей среды разработки приложения.

Это - постоянная ошибка, которую я вижу, что разработчики делают, где они создают что-то, что делает их жизни легче, но является просто большим количеством пользовательских одноразовых решений, с которыми администраторы/пользователи должны ознакомить себя.

Я изучил бы создание метода, который будет автоматический генерировать Ваши страницы справочника и делать эту часть или установки в виде сценария, которую Вы обеспечиваете или как часть диспетчера пакетов систем, где Ваше программное обеспечение развертывается.

Существует много методов для того, чтобы сделать точно это. Это могло бы казаться менее оптимальным, но это больше в соответствии с тем, как пользователи Вашего программного обеспечения будут, вероятно, ожидать, что Ваше программное обеспечение будет работать.

Это учебное руководство должно запустить Вас в понимании форматов страницы справочника, они довольно просты и предоставляют себя тому, чтобы быть измененным довольно легко во время установки.

2
27.01.2020, 22:06

Это походит на ужасную идею!

Страницы руководства предполагаются к ясно документу все функции и их доступность, специально для чего-то как высокоуровневый язык сценариев!

Просто иметь весь дополнительный опущенный материал не означает заботиться о последствиях пользователей, перемещающихся от одной установки до следующего. (Это будет также способствовать монокультурам и возможно всем видам зависимостей от поставщика.)

И если Вы не заботитесь о благополучии Ваших пользователей, почему обеспечивают a man- совместимая страница руководства во-первых?

1
27.01.2020, 22:06

Теги

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