udevルールは使用されませんか?

udevルールは使用されませんか?

udev挿入および取り外し時に処理する外部USBハードドライブを設定しています(まだインストールされていません)。これまで、/etc/udev/rules.d/10-local.rulesファイルにディスクの追加と削除を記録するための2つの新しいルールが作成されました。

SUBSYSTEM=="block", ATTRS{model}=="2AS", ACTION=="add", RUN+="/bin/echo 'inserted lacie' >> /home/herman/udev_file"
SUBSYSTEM=="block", ATTRS{model}=="2AS", ACTION=="remove", RUN+="/bin/echo 'removed lacie' >> /home/herman/udev_file"

デーモンを起動しudevd、ハードドライブを数回再挿入しましたが、/home/herman/udev_fileまったく作成されません。ルールでは、私はコマンドのキーを使用しました。udevadm info -a -n /dev/sdb問題のハードディスクです。私がここで何を間違っているのか?ディスクが検出されており、mount正常に検出できます。助けてくれてありがとう。

ベストアンサー1

udevにログメッセージを出力し/var/log/messagesますが、デフォルトではエラーのみを記録し、目的の操作を実行しませんがエラーも発生しないコマンドを設定することがあります。リダイレクトは>>シェルによって処理され、udevはシェルを介してコマンドを実行しないため、実際にバイナリを実行して/bin/echo引数を渡します'inserted lacie' >> /home/herman/udev_file。より多くの情報を記録するためにudevを変更すると(行の編集/etc/udev/udev.confと追加udev_log="info")、コマンドが実行され、出力は次のようになります。'inserted lacie' >> /home/herman/udev_file

個人的には、再起動せずに編集できるようにしたいタスクを実行する短いシェルスクリプトを作成することを好みますudevが、それを使用/bin/sh -cしてコマンドを実行してリダイレクトを処理することもできます。

SUBSYSTEM=="block", ATTRS{model}=="2AS", ACTION=="add", RUN+="/bin/sh -c '/bin/echo inserted lacie >> /home/herman/udev_file'"

おすすめ記事