/etc/udev/rules.d/21-persistent-local.rules
다음은 가상 머신 내에서 실행되는 Debian 머신의 USB 인터페이스를 사용하여 Seagate 500GB 확장 드라이브에 대해 만든 간단한 규칙입니다 .
ACTION=="add", ENV{DEVTYPE}=="usb_device", ATTRS{ID_SERIAL_SHORT}=="NA453QQS", SUBSYSTEM=="usb", HOTPLUG == 1, \
RUN+="/usr/local/bin/run.sh"
저장 후 실행합니다 udevadm trigger
. 마지막으로 드라이브를 연결하고 실행하여 udevadm monitor --env
확장 드라이브가 올바르게 로드되었는지 확인했습니다.
add
이제 작업에 대해 실행되어야 하는 규칙을 정의했습니다 run.sh
. 두 개의 합계 외에는 run.sh
아무것도 없습니다 . 그러나 스크립트를 실행할 수 없습니다. 특히 스크립트에는 아무 것도 인쇄되지 않습니다. 커널에 로드한 모듈은 커널 종료 및 진입 시 표시되어야 하는 메시지를 인쇄합니다.sudo insmod foo.ko
sudo rmmod foo.ko
dmesg
run.sh
이 문제의 가능한 원인은 무엇입니까?
추신: 위의 규칙 파일에서 나는 이 두 가지를 모두 사용했습니다.ATTRS{...}
ID_SERIAL=Seagate_Expansion_NA453QQS ID_SERIAL_SHORT=NA453QQS