Pelo que eu sei udev, não fornece nenhum meio para monitorar unidades de disquete. As unidades de disquete não fornecem nenhum meio para detectar a inserção, ou seja, a detecção da inserção de um disco requer pesquisa contínua do inversor.
O utilitário diskd
faz o que você precisa. Ele pesquisa continuamente a unidade e sai ou executa um comando na inserção. É parte de fdutils , que pode ser instalado a partir dos repositórios sob o Debian. No RHEL / Fedora, você terá que compilar as fontes.
Uso:
diskd [-d drive] [-i interval] [-e command]
O seguinte deve monitorar a unidade de um disco e, na inserção, montá-lo e depois sair. Eu não tentei isso, porque eu só tenho uma unidade de disquete IDE (LS-120 SuperDisk).
diskd -d /dev/fd0 -e "udisks --mount /dev/fd0 --mount-fstype=vfat"
Deve-se observar que você precisa ser um membro do grupo floppy
para poder executá-lo como usuário não-root, pois precisa de acesso direto ao dispositivo de disquete (por exemplo, /dev/fd0
). Ele usa o FDPOLLDRVSTAT
ioctl (consulte man 4 fd
) para pesquisar o dispositivo.
Além disso, a página de manual / documentação tem o seguinte aviso:
This program works by switching the motor on for a very short interval, and then seeking to track -1. This might damage hardware in the long run. Amigas, which also use these techniques, are known for having problems with their disk drives no longer spinning up properly after a few month of usage.
Não tenho certeza se isso é realmente um problema sério, mas ter uma unidade sobressalente na mão provavelmente é útil se você for usar isso em uma configuração de produção. Eles não são mais tão caros, né?
(O utilitário fdmountd
parece muito antigo e eu sou muito cético em relação a se ele funciona com discos formatados com FAT12 em um kernel "mais recente").