How to disable udev net rule generation?
Solution 1:
Based on JasminJ's answer, I read the manual. Well, I read a very small portion of it. The fifth sentence in the "Rules files" section states:
This can be used to override a system-supplied rules file with a local file if needed; a symlink in
/etc
with the same name as a rules file in/lib
, pointing to/dev/null
, disables the rules file entirely.
I just tested this with a VM and it does indeed work as described. I prefer this to conventional/hacky methods of disabling this functionality.
Here is the command
ln -s /dev/null /etc/udev/rules.d/75-persistent-net-generator.rules
Solution 2:
cd /etc/udev/rules.d
rm -f 70-persistent-net.rules
rm -f 75-persistent-net-generator.rules
echo "# " > 75-persistent-net-generator.rules
See https://www.kernel.org/pub/linux/utils/kernel/hotplug/udev/udev.html
chapter "Rules files"
Solution 3:
You can override the /lib/udev/rules.d/*
by copying them to /etc/udev/rules.d
and then modifying them.
Or alternatively, you can create a new file with a lexically higher name e. g. /etc/udev/rules.d/99-stop-persistent-net.rules
with the following "do nothing" entry:
SUBSYSTEM=="net", DRIVERS=="?*", NAME="%k"
This should prevent new rules from being created as udev thinks the interface is already listed. This will also survive udev updates etc.
Sorry, don't have time to test it…