मुझे भी ऐसा ही कुछ करना था लेकिन वह चाहता था कि डिवाइस बिल्कुल न आए। हमने लिनेक्स आधारित डिवाइस में एक ईथरनेट पोर्ट को भौतिक रूप से कवर किया है और इसलिए यह बिल्कुल भी प्रदर्शित नहीं होना चाहिए।
मैंने udv नियमों के साथ ऐसा किया।
यह udv नियम लिनक्स डिवाइस को निकालने के लिए लिनक्स को बताएगा जब एक नेटवर्क डिवाइस जिसमें en_2 का ID_NET_NAME_ONBOARD जोड़ा जाता है। इसे उदा में जोड़ें /etc/udev/rules.d/90-disable-eno2.rules
।
ACTION=="add", SUBSYSTEM=="net", ENV{ID_NET_NAME_ONBOARD}=="eno2", RUN+="/bin/sh -c 'echo 1 > /sys$DEVPATH/device/remove'"
जादू वातावरण चर जैसे ID_NET_NAME_ONBOARD यहां udv द्वारा सेट किए गए हैं । मैंने उस फ़ाइल में टिप्पणी से कुछ उदाहरणों की प्रतिलिपि बनाई है।
PCI Ethernet card with firmware index "1":
ID_NET_NAME_ONBOARD=eno1
ID_NET_NAME_ONBOARD_LABEL=Ethernet Port 1
PCI Ethernet card in hotplug slot with firmware index number:
/sys/devices/pci0000:00/0000:00:1c.3/0000:05:00.0/net/ens1
ID_NET_NAME_MAC=enx000000000466
ID_NET_NAME_PATH=enp5s0
ID_NET_NAME_SLOT=ens1
PCI Ethernet multi-function card with 2 ports:
/sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/enp2s0f0
ID_NET_NAME_MAC=enx78e7d1ea46da
ID_NET_NAME_PATH=enp2s0f0
/sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.1/net/enp2s0f1
ID_NET_NAME_MAC=enx78e7d1ea46dc
ID_NET_NAME_PATH=enp2s0f1
PCI wlan card:
/sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlp3s0
ID_NET_NAME_MAC=wlx0024d7e31130
ID_NET_NAME_PATH=wlp3s0
USB built-in 3G modem:
/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/2-1.4:1.6/net/wwp0s29u1u4i6
ID_NET_NAME_MAC=wwx028037ec0200
ID_NET_NAME_PATH=wwp0s29u1u4i6
USB Android phone:
/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0/net/enp0s29u1u2
ID_NET_NAME_MAC=enxd626b3450fb5
ID_NET_NAME_PATH=enp0s29u1u2
s390 grouped CCW interface:
/sys/devices/css0/0.0.0007/0.0.f5f0/group_device/net/encf5f0
ID_NET_NAME_MAC=enx026d3c00000a
ID_NET_NAME_PATH=encf5f0
अपने नियमों का परीक्षण करते समय आपको एक कमांड चलाने की आवश्यकता होगी जैसे कि सब कुछ मेल खाता है और वाक्यविन्यास सही है यह सुनिश्चित करने के लिए।
# Find the path marked "P" with this command.
udevadm info --path=/sys/class/net/eno2
# Test with this command with the path from above
udevadm test --action="add" /devices/pci0000:00/0000:00:1c.4/0000:03:00.0/net/eno2 2>&1 | less