udevはマウントでのみアクションをトリガーできますか?

udevはマウントでのみアクションをトリガーできますか?

次のような場合は、操作をトリガーするために使用できますudev常に接続されているドライブが取り付けられていますか?それともホットスワップにのみ役立ちます(文書に記載されています)?

常に接続されたSDカードをマウントするときにスクリプトを実行したいと思います。内部に配置されたルールは/etc/udev/rules.d構文的には問題ないようです。

KERNEL=="mmcblk0",ACTION=="mount",RUN+="/path/to/script.sh"

ただし、ドライブをマウントした後はスクリプトは実行されません。

繰り返しますが、ホットスワップなしドライブはSDカード(したがって、mmcblk0デバイス名)。

そうでなければ、udev何がうまくいくのでしょうか?

ベストアンサー1

答えは「しかし」のようです。少なくとも私が知っている限り、ACTION=="mount"イベントはそうです。いいえ接続したSDカードを装着するとトリガーされますがACTION=="change"動作します。以下を実行して、ルールが機能するudevadm monitor -p属性(ボリュームラベル)を識別できました。ID_FS_LABEL

ENV{ID_FS_LABEL}="MyVolumeLabel",ACTION=="change",RUN+="/path/to/script.sh"

udevただし、これは完了時にブロックされているため、短いスクリプト以外の項目をトリガーするのに理想的ではないことがわかりました。代わりに私は従った。提案systemdAnkurTankのサービスを提案し、使用して良い結果を得ました。

おすすめ記事