Есть собранная система lfs, её архив для возможности разворачивания. Она стоит и нормально работает на сервере где была одна сетёвка.
Развернул её другом серваке который должен стать шлюзом-маршрутизатором, на нём несколько сетёвок.
Всё нормально заработало, все сетевые интерфейсы по команде ifconfig -a видно. Хотел поменять названия сетёвок и ничего не получилось.
Например после загрузки имею сетёвку eth5 с mac 11:22:33:44:55:66 и сетёвку eth3 с mac 77:88:99:00:11:22,
а мне надо чтобы сетёвка eth5 называлась eth3, а та что была eth3 стала eth5
Прописал всё как надо в файле /etc/udev/rules.d/70-persistent-net.rules перезагрузился, и ничего не поменялось.
Что бы избежать ошибок сгенерировал файл 70-persistent-net.rules при помощи команды
udevadm trigger --action=add
Файл сгенерировался, открыл его и eth5 поменял на eth3, а eth3 поменял на eth5.
Перезагрузился и ничего не поменялось, сетёвки не переименовались. Получается так что udev не читает этот файл.
При загрузке сервера демон udev запускается командой:
далее выполняются ещё две команды:
/sbin/udevadm trigger
/sbin/udevadm settle
После загрузки сервера udevd в процессах есть.
Попробовал удалить паку со скриптами /etc/sysconfig/network-scripts (предварительно скопировав её в другое место), и не запускать при старте сервера демон udev. Но после загрузки сервера по команде ifconfig -a всё равно все интерфейсы были и назывались они (eth0, eth1,eth2...) как и ранее когда при загрузке сервера стартовал и udev.
Получается так что ядро само определяет сетевые интерфейсы, даёт им имена eth0, eth1, .. ит.д. а udev после запуска то ли не читает файл /etc/udev/rules.d/70-persistent-net.rules то ли читает его но сетевые интерфейсы не переименовывает.
Подскажите пожалуйста как заставить его прочитать этот файл или переименовать сетевые интерфейсы.
За помощь заранее благодарен!
Всё проблему решил.
Не помогло удаление из файла правил /etc/udev/rules.d/70-persistent-net.rules записей ACTION=="add" и KERNEL=="eth*" хоть вместе хоть по отдельности.
А помогло вот что.
После старта демона udev я выполняю две команды
udevadm trigger
udevadm settle
так вот команду udevadm trigger надо было выполнять ещё с параметром --action=add
udevadm trigger --action=add
После этого всё заработало и не надо было в initrd ничего делать.
Интерфейсы переименовались согласно записям в файле правил
/etc/udev/rules.d/70-persistent-net.rules