O udev pode disparar uma ação no mount sozinho?

4

O udev pode ser usado para acionar uma ação quando uma unidade sempre conectada é montada ou é útil somente para hotplugging (como a documentação sugere)?

Eu quero disparar um script quando meu cartão SD sempre conectado é montado. Esta regra, colocada dentro de /etc/udev/rules.d , parece bem na sintaxe:

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

Mas o script não é executado quando a unidade é montada.

Mais uma vez, não há nenhum hotplugging e a unidade é um cartão SD (daí o nome do dispositivo mmcblk0 ).

Se udev não for apropriado, o que mais pode funcionar?

    
por Jortstek 13.12.2015 / 13:23

1 resposta

4

A resposta parece ser "sim, mas". No meu caso, pelo menos, o evento ACTION=="mount" não dispara quando meu cartão SD já conectado é montado, mas ACTION=="change" faz. Ao executar udevadm monitor -p , consegui identificar uma propriedade ( ID_FS_LABEL , o rótulo do volume) para que a regra funcionasse:

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

Mas acontece que udev não é ideal para acionar nada além de scripts curtos, porque eles bloqueiam enquanto concluem. Em vez disso, eu segui o conselho sugerido pelo AnkurTank e fui com um serviço systemd , que funciona bem.

    
por 13.12.2015 / 21:17

Tags