
私は、デバイスが挿入されているポートに対してデバイスを永続化するために、ID_PATH を使用する udev ルールを書いていました。
これが私が持っているものです
KERNEL=="ttyUSB?",SUBSYSTEM=="tty",ENV{ID_BUS}=="usb",ENV{ID_PATH}=="pci-0000:00:12.0-usb-0:1:1.0",SYMLINK="bla"
最初は、ファイル名は 52-foo.rules でしたが、動作しませんでした。名前を 81-foo.rules に変更したら、正常に動作するようになりました。
ENV{} 値は、数値が十分に大きい場合にのみ有効であるようです。なぜそうなるのかを誰か説明してもらえますか?
ありがとう、
答え1
おそらく、ルールが別のルールによって上書きされているのでしょう。 大きい番号のルールは最後に実行されるため、大きい番号を使用しても上書きされることはありません。
< 60 most user rules; if you want to prevent an assignment being
overriden by default rules, use the := operator.
these cannot access persistent information such as that from
vol_id
< 70 rules that run helpers such as vol_id to populate the udev db
< 90 rules that run other programs (often using information in the
udev db)
>=90 rules that should run last
チェックこれ