udev가 알지 못하는 사이에 네트워크 인터페이스가 나타나는 이유는 무엇입니까?
# rnn ip link show dev usb0
Device "usb0" does not exist.
# stdbuf -oL udevadm monitor -p | grep 'SUBSYSTEM\|ACTION\|e2:c9:f6:5c:37:7c' --line-buffered
ACTION=add
SUBSYSTEM=usb
ACTION=add
SUBSYSTEM=usb
ACTION=add
SUBSYSTEM=usb
ACTION=add
SUBSYSTEM=usb
ACTION=add
SUBSYSTEM=usb
ACTION=add
SUBSYSTEM=usb
ACTION=add
SUBSYSTEM=usb
ACTION=add
SUBSYSTEM=usb
ACTION=add
SUBSYSTEM=usb
ACTION=add
SUBSYSTEM=usb
ACTION=add
SUBSYSTEM=usb
ACTION=add
SUBSYSTEM=usb
^C
# rnn ip link show dev usb0
35: usb0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether e2:c9:f6:5c:37:7c brd ff:ff:ff:ff:ff:ff
SUBSYSTEM=net
새로운 네트워크 인터페이스가 등장하면서 이벤트가 예상됩니다 usb0
. udev가 이를 처리하도록 하려면 어떻게 해야 합니까?
그 사이에 systemd-udevd --debug
네트워크 관련 메시지가 표시됩니다.
seq 9553 queued, 'add' 'usb'
seq 9554 queued, 'add' 'usb'
seq 9555 queued, 'add' 'net'
seq 9556 queued, 'add' 'queues'
seq 9557 queued, 'add' 'queues'
seq 9558 queued, 'add' 'usb'
...
PROGRAM '/bin/readlink /etc/udev/rules.d/80-net-setup-link.rules' /lib/udev/rules.d/73-usb-net-by-mac.rules:6
답변1
문제는 udevd
루트에서 실행되지 않아 발생합니다.네트워크 네임스페이스(기본적으로 네트워크 어댑터가 추가된 위치)
추가적으로 udevadm monitor
의 네트워크 네임스페이스도 출력에 영향을 줍니다.