このドキュメントで説明するソフトウェアは、Extended SupportまたはSustaining Supportのいずれかにあります。 詳細は、https://www.oracle.com/us/support/library/enterprise-linux-support-policies-069172.pdfを参照してください。
Oracleでは、このドキュメントに記載されているソフトウェアをできるだけ早くアップグレードすることをお薦めします。
udevでは、デバイスの識別方法およびデバイス名の作成方法を決定するルール・ファイルが使用されます。 udevデーモン(udevd)によって、システム起動時にルール・ファイルが読み取られ、ルールがメモリーに格納されます。 カーネルが新しいデバイス、または既存のデバイスがオフラインになったのを検出すると、カーネルによってイベント・アクション(uevent)通知がudevdに送信され、udevdでは、デバイスを識別するために、/sysのデバイス属性に対してインメモリー・ルールが照合されます。 デバイス・イベント処理の一部として、ルールでは、デバイスを構成するために実行する必要がある追加のプログラムを指定できます。 ファイル拡張子が.rulesのルール・ファイルは、次のディレクトリに格納されます。
-
/lib/udev/rules.d デフォルト・ルール・ファイルが格納されます。 これらのファイルは編集しないでください。
-
/etc/udev/rules.d/*.rules カスタマイズ・ルール・ファイルが格納されます。 これらのファイルは変更できます。
-
/dev/.udev/rules.d/*.rules 一時ルール・ファイルが格納されます。 これらのファイルは編集しないでください。
udevdでは、ルール・ファイルが格納されているディレクトリに関係なく、ルール・ファイルが字句順に処理されます。 /etc/udev/rules.d内のルール・ファイルによって、/lib/udev/rules.d内の同じ名前のファイルがオーバーライドされます。
次のルールはファイル/lib/udev/rules.d/50-udev- default.rulesから抽出したもので、udevルールの構文を示しています。
# do not edit this file, it will be overwritten on update
SUBSYSTEM=="block", SYMLINK{unique}+="block/%M:%m"
SUBSYSTEM!="block", SYMLINK{unique}+="char/%M:%m"
KERNEL=="pty[pqrstuvwxyzabcdef][0123456789abcdef]", GROUP="tty", MODE="0660"
KERNEL=="tty[pqrstuvwxyzabcdef][0123456789abcdef]", GROUP="tty", MODE="0660"
...
# mem
KERNEL=="null|zero|full|random|urandom", MODE="0666"
KERNEL=="mem|kmem|port|nvram", GROUP="kmem", MODE="0640"
...
# block
SUBSYSTEM=="block", GROUP="disk"
...
# network
KERNEL=="tun", MODE="0666"
KERNEL=="rfkill", MODE="0644"
# CPU
KERNEL=="cpu[0-9]*", MODE="0444"
...
# do not delete static device nodes
ACTION=="remove", NAME=="", TEST=="/lib/udev/devices/%k", \
OPTIONS+="ignore_remove"
ACTION=="remove", NAME=="?*", TEST=="/lib/udev/devices/$name", \
OPTIONS+="ignore_remove"
コメント行は#の文字で始まります。 他のすべての空白以外の行でルールが定義され、これは、1つ以上のカンマ区切りのキーと値のペアのリストです。 ルールでは、値がキーに割り当てられるか、またはその現在値と指定した値とを比較することによってキーに対する一致の検出が試行されます。 次の表に、使用可能な割当および比較演算子を示します。
演算子 | 説明 |
|---|---|
| キーに値を割り当て、以前の値を上書きします。 |
| キーの現在の値リストに値を追加することによって、値を割り当てます。 |
| キーに値を割り当てます。 この値は以降のいずれのルールによっても変更できません。 |
| キーの現在の値が指定した値と等しいかどうか照合します。 |
| キーの現在の値が指定した値と等しいかどうか照合します。 |
次のシェル形式のパターン一致文字を値で使用できます。
文字 | 説明 |
|---|---|
| 1文字に一致します。 |
| ゼロを含めて、任意の数の文字に一致します。 |
| カッコ内に指定された任意の1文字または文字範囲の文字に一致します。 たとえば、tty[sS][0-9]はttys7またはttyS7に一致します。 |
次の表に、ルールでよく使用される一致キーを示します。
一致キー | 説明 |
|---|---|
|
イベントを発生させたアクションの名前を照合します。 たとえば、 |
|
デバイス・プロパティ |
|
イベントによって影響を受けるデバイスの名前を照合します。 たとえば、ディスク・メディアの場合は |
|
デバイス・ファイルまたはネットワーク・インタフェースの名前を照合します。 たとえば、1つ以上の文字で構成される任意の名前の場合は |
|
イベントによって影響を受けるデバイスのサブシステムを照合します。 たとえば、 |
|
指定したファイルまたはパスが存在するかどうかをテストします。 たとえば、 |
その他の一致キーには、ATTR{、filename}ATTRS{、filename}DEVPATH、DRIVER、DRIVERS、KERNELS、PROGRAM、RESULT、SUBSYSTEMSおよびSYMLINKがあります。
次の表に、ルールでよく使用される割当キーを示します。
割当キー | 説明 |
|---|---|
|
デバイス・プロパティ |
|
デバイス・ファイルのグループを指定します。 たとえば、 |
|
|
|
デバイス・ファイルの権限を指定します。 たとえば、 |
|
デバイス・ファイルの名前を指定します。 たとえば、 |
|
ルールおよびデバイスのオプションを指定します。 たとえば、 |
|
デバイス・ファイルの所有者を指定します。 たとえば、 |
| デバイス・ファイルの作成後に実行するコマンドを指定します。 たとえば、RUN+="/usr/bin/eject $kernel"であり、$kernelはデバイスのカーネル名です。 |
|
デバイス・ファイルへのシンボリック・リンクの名前を指定します。 たとえば、 |
その他の割当キーには、ATTR{、key}GOTO、LABEL、RUNおよびWAIT_FORがあります。
次の表に、GROUP、MODE、NAME、OWNER、PROGRAM、RUNおよびSYMLINKキーとともによく使用される文字列置換を示します。
文字列置換 | 説明 |
|---|---|
|
|
|
|
|
デバイス・プロパティの値を指定します。 たとえば、 |
| デバイスのカーネル名。 |
|
デバイスのメジャー番号を指定します。 たとえば、 |
|
デバイスのマイナー番号を指定します。 たとえば、 |
|
現在のデバイスのデバイス・ファイルを指定します。 たとえば、 |
udevでは、デバイスに対する他の全ルールの処理終了後である、そのプログラムの実行直前に、RUNに対して指定した文字列が展開されます。 その他のキーについては、ルールの処理中に文字列が展開されます。
詳細は、udev(7)マニュアル・ページを参照してください。

