每当将任何USB闪存驱动器(不仅是特定的USB闪存驱动器)插入系统时,我都试图运行一个脚本,并且我已经断断续续地花了大约2周的时间来尝试找出问题。有谁能够帮助我?(如果有帮助,请运行Ubuntu)。
我需要至少传递驱动器序列号和devpath(/ dev / sd **)。
首先,您需要使用规则来检测USB存储设备
/etc/udev/rules.d/10-usbmount.rules:
KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", SUBSYSTEMS=="usb", RUN+="/usr/bin/usbdevinserted"
这将运行我们的自定义可执行shell脚本/usr/bin/usbdevinserted:
/usr/bin/usbdevinserted
#!/bin/bash set 2>&1 >> /tmp/usbdevinfo
此示例脚本转储您需要知道找到哪个设备的环境变量,例如:
DEVLINKS='/dev/disk/by-id/usb-Generic_USB_Flash_Disk-0:0 /dev/disk/by-path/pci-0000:00:13.2-usb-0:2:1.0-scsi-0:0:0:0' DEVNAME=/dev/sdk DEVPATH=/devices/pci0000:00/0000:00:13.2/usb2/2-2/2-2:1.0/host29/target29:0:0/29:0:0:0/block/sdk DEVTYPE=disk ID_BUS=usb ID_FS_TYPE= ID_INSTANCE=0:0 ID_MODEL=USB_Flash_Disk ID_MODEL_ENC='USB\x20Flash\x20Disk\x20\x20' ID_MODEL_ID=9380 ID_PART_TABLE_TYPE=dos ID_PART_TABLE_UUID=61d1df0b ID_PATH=pci-0000:00:13.2-usb-0:2:1.0-scsi-0:0:0:0 ID_PATH_TAG=pci-0000_00_13_2-usb-0_2_1_0-scsi-0_0_0_0 ID_REVISION=7.76 ID_SERIAL=Generic_USB_Flash_Disk-0:0 ID_TYPE=disk ID_USB_DRIVER=usb-storage ID_USB_INTERFACES=:080650: ID_USB_INTERFACE_NUM=00 ID_VENDOR=Generic ID_VENDOR_ENC='Generic\x20' ID_VENDOR_ID=058f MAJOR=8 MINOR=160 SUBSYSTEM=block