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의 서비스를 제안하고 사용하여 좋은 결과를 얻었습니다.

관련 정보