Linux上用udev自动识别并挂载U盘
2019-07-12 14:55发布
生成海报
最近想在U盘中放置一个配置文件,当U盘插入时自动读取配置文件。发现插上U盘后,在/dev下产生sda1、adb1、sdc1等不定设备,需要手动挂载才行。根据网上了解,可以通过udev来实现U盘的自动识别和挂载,操作方法如下:
1. 在/etc/udev/rules目录下新建11-add-usb.rules和11-add-remove.rules,负责设备监测。
root@am335x-evm:/etc/udev/rules.d# vi 11-add-usb.rules
ACTION!="add",GOTO="farsight"
KERNEL=="sd[a-z][0-9]",RUN+="/opt/usb/mountusb.sh %k"
KERNEL=="sd[a-z]",RUN+="/opt/usb/mountusb.sh %k"
LABEL="farsight"
root@am335x-evm:/etc/udev/rules.d# vi 11- remove -usb.rules
ACTION !="remove",GOTO="farsight"
SUBSYSTEM!="block",GOTO="farsight"
KERNEL=="sd[a-z][0-9]",RUN+="/opt/usb/umountusb.sh"
LABEL="farsight"
2. 在/opt/usb下建立执行脚本,负责挂载和卸载。
root@am335x-evm:/opt/usb# vi mountusb.sh
#!/bin/sh
mount -t vfat /dev/$1 /mnt/usb
sync
root@am335x-evm:/opt/usb# vi umountusb.sh
#!/bin/sh
sync
umount /mnt/usb
3. 完成操作,可实现自动挂载。如要读写U盘文件,则可以在执行脚本中添加其他操作即可。
参考文章:
http://blog.chinaunix.net/uid-26119896-id-5211736.html (u盘挂载)
http://www.cnblogs.com/sopost/archive/2013/01/09/2853200.html (udev简介)
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮