新しいデバイスが表示されると、udevに通知されます。通常/dev、組み込みルールに基づいてデバイスファイルを作成します。これらのルールを上書きして、デバイスファイルの場所を変更したり、任意のプログラムを実行したりできます。このようなudevルールの例を次に示します。
KERNEL=="sd*", ATTRS{vendor}=="Yoyodine", ATTRS{serial}=="123456789", NAME="keepass/s%n", RUN+="/usr/local/sbin/keepass-drive-inserted /dev/%k%n"
NAME=ディレクティブは、デバイス・ファイルの場所を変更し、私は説明の目的のためにそれを含めるが、それはおそらくあなたのユースケースのために有用ではありません。ATTRSルールは、デバイスを識別します。udevinfo -a -n /dev/sdzドライブが使用可能なときに実行して、ドライブの/dev/sdz属性を確認します。入力のATTRS1つのセクションからのルールしか使用できないことに注意してくださいudevinfo(さらに、ATTR最初のセクションからのルールを使用できます)。詳細については、「udevadm info -a -n / dev / sdb」の出力についてをご覧ください。このルールはのようなファイルに入れられます/etc/udev/rules.d/local-storage-keypass.rules。
RUNディレクティブで指定されたスクリプトに、実行するコマンドを入れます。何かのようなもの:
#!/bin/sh
set -e
if [ -d /media/keypass-drive ]; then
  [ "$(df -P /media/keypass-drive | awk 'NR==2 {print $1}')" = "$(df -P /media | awk 'NR==2 {print $1}')" ]
else
  mkdir /media/keypass-drive
fi
mount "$1" /media/keypass-drive
su ereon -c 'keypass2' &
udevからトリガーされたスクリプトからGUIプログラムを実行する際に問題が発生した場合は、「別のユーザーのデスクトップでrootとしてグラフィカルプログラムを起動できますか?」を参照してください。
¹ ない現代のシステムで/devudevtmpfsです。  
               
              
udevadm info -a -n /dev/sdX、複数の祖先に基づいて照合することはできません。デバイス自体と単一の祖先からのデータに基づいてのみ照合できます。これについてはで説明してman 7 udevいますが、見落としやすい小さなコメントです。