udevでルールの定義は以下のものがあります。
- /lib/udev/rules.d …… デフォルトルールが格納されている場所です。 このルールを編集してはいけません。
- /etc/udev/rules.d/*.rules …… カスタマイズルールを格納する場所です。 自分でルールを書く場合はこちらに作成します。
こちは /lib/udev/rules.d にあるルール一覧です。
例えば 「/lib/udev/rules.d/63-md-raid-arrays.rules」の内容はこんな感じです。
この中にある「SUBSYSTEM」「ACTION」「KERNEL」「ENV」などがあります。 これらをカスタマイズして書く必要があります。
またudevのルールには以下のような流れがあります。
- ルールファイルは字句順で処理される
- /etc/udev/rules.d/ と /lib/udev/rules.d/ に同じファイルがあった場合は、/etc/udev/rules.d/ にあるファイルで上書きされる
ルールを作る前に今接続されているデバイスの情報を取得する方法を確認してみます。
これについては以下のコマンドを使うと簡単に表示されます。
# udevadm info [devicename]
# udevadm info --attribute-walk --name [devicename]
この表示の利用の仕方を記載すると長くなるので、別の機会に書きます。