Redhat – Can udev be ‘restarted’ without a reboot

redhatudevvmware-vsphere

For the general case let's say that the virtual adapter for eth0 has been removed and replaced with another one. Either due to cloning or, more recently, a rash of MAC address conflicts. [Yes, a rash of them.]

Usually I simply rm /etc/udev/rules.d/70-persistent-net-rules and check that nothing in /etc/sysconfig/network* contains a reference to a MAC address and reboot, but this is Linux and there must be a way to avoid rebooting.

Is there a command I can run to pick up the new NIC?

edit

In addition to @dawud's answer below I ran into an issue on my test VM where it had already booted with the new device in place and had it named eth1 in which case udevadm does not seem to 'release' the device. In this case I did the following:

  1. Get the MAC address of the device from VSphere.
  2. Create/edit /etc/iftab with the line eth0 mac ##:##:##:##:##:## substituting in the MAC address. ifrename does not seem to like it when this file does not exist/contain the name of the destination interface.
  3. ifrename -i eth1 -n eth0
  4. service network restart and eth0 started up normally.
  5. [Optional] rm /etc/iftab so there's one less place for a MAC to live.

Best Answer

You can do that using udevadm trigger

You still need to remove the persistent rules and restart the network service.