/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
。 2つの合計以外にはrun.sh
何もありません。ただし、スクリプトを実行できません。特にスクリプトには何も印刷されません。カーネルにロードされたモジュールは、カーネルの終了時に入る必要があるメッセージを印刷します。sudo insmod foo.ko
sudo rmmod foo.ko
dmesg
run.sh
この問題の考えられる原因は何ですか?
PS:上記のルールファイルでは、私はこれらの両方を使用しました。ATTRS{...}
ID_SERIAL=Seagate_Expansion_NA453QQS ID_SERIAL_SHORT=NA453QQS