Файл /etc/udev/rules.d/70-persistent-net.rules
автоматически генерируется в системе Linux с помощью udev, если он не существует, во время перезагрузки. Но я хотел бы знать, как создать этот файл правил (с помощью команды) без перезагрузки сервера.
Я некоторое время гуглил и обнаружил, что файл правил генерируется этим скриптом:
/lib/udev/write_net_rules
Тем не менее, невозможно запустить этот скрипт из командной строки, так как (я полагаю) он хочет запустить udev с правильно установленными переменными окружения. При запуске вручную выводится сообщение об ошибке «отсутствует $ INTERFACE». Даже если я установлю переменную env INTERFACE = eth0 до запуска скрипта, он все равно выдает ошибку «отсутствует действительное совпадение». Не говоря уже о том, что у меня есть два интерфейса ( eth0
и eth1
), и я хочу, чтобы файл правил был сгенерирован для обоих.
Я также думал о том, чтобы вызвать подобные события udev, надеясь, что он запустит скрипт от самого udev, но ничего не изменится:
udevadm trigger --type=devices --action=change
Итак, кто-нибудь знает, как восстановить постоянные сетевые правила в файле /etc/udev/rules.d/70-persistent-net.rules
без перезагрузки?
70-persistent-net.rules
ни /lib/udev/write_net_rules
сценария, ни сценария. Поэтому я не могу проверить, но предположительно $INTERFACE
переменная установлена в самом скрипте. Скорее всего, это передается в качестве аргумента. Можете ли вы показать нам содержание сценария?
$INTERFACE
переменную. Существует гораздо больше просто используемых переменных, никогда не объявляемых. Это потому, что он вызывается udev, и udev устанавливает все переменные env до запуска скрипта при загрузке.