0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

What is "udev"?

Last updated at Posted at 2024-09-08

udevとは何か?

端的にいうとLinuxカーネルで使用されるデバイス管理の仕組みである。USBやHDDなどシステムに接続されるすべてのハードウェアを動的に管理してくれる。

udevの動作

無題の図形描画.png
Linuxカーネルは、デバイスが接続されたり取り外されたりした際にイベント(uevent)を生成します。/sys:カーネルは/sysという仮想ファイルシステムを介して、システム内のデバイスに関する情報を提供します。udevはこの情報を利用します。devd:udevdは、カーネルから送信されるueventを監視しており、デバイスが接続されたり、取り外されたりしたときに自動的に動作します。/devディレクトリ:udevdは、デバイスが接続されると自動的に**/dev**ディレクトリ内にデバイスファイルを作成します。デバイスが取り外されると、対応するデバイスファイルを削除します。

udevルール

/etc/udev/rules.d/と/lib/udev/rules.d/:これらのディレクトリには、udevの動作を制御するためのルールファイルが配置されます。

  • /etc/udev/rules.d/:ユーザーがカスタマイズしたルールファイルを置く場所です。例えば、特定のUSBデバイスが接続されたときにスクリプトを実行させるなど、独自の処理を設定できます。
  • /lib/udev/rules.d/:システムが提供するデフォルトのルールが配置される場所です。これらは通常、OSやパッケージによって提供されます。

udevadmコマンド

Linuxのudevデバイスマネージャを管理するためのコマンドラインツールです。

1. udevadm monitor

udevadm monitorは、デバイスイベント(uevent)をリアルタイムで監視するコマンドです。これにより、デバイスの接続や切断、カーネルによって発生するイベントを確認できます。

sudo udevadm monitor

2. udevadm trigger

udevadm triggerは、手動でイベントを発生させて、udevに処理を実行させるコマンドです。特定のデバイスのルール適用を再度強制的に行いたい場合や、すべてのデバイスに対して処理を再適用したい場合に使用します。

sudo udevadm trigger

3. udevadm control

udevadm controlは、udevデーモンの動作を制御するコマンドです。たとえば、新しく追加したルールを有効にするためにudevのルールを再読み込みしたり、udevデーモンを再起動したりする際に使用します。

sudo udevadm control --reload-rules

4. udevadm info

udevadm infoは、特定のデバイスに関する詳細な情報を取得するコマンドです。デバイスの属性や適用されているルール、関連するパスなどを確認するのに使用します。

特定のデバイス(例:/dev/sda)に関するすべての情報を表示する:

sudo udevadm info --query=all --name=/dev/sda
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?