在 Raspbian 上运行 LXDE。
插入设备后,我想在 USB 闪存驱动器上运行脚本。任何闪存驱动器,而不是特定的。
这是为了向客户提供代码更新,而不需要将键盘或鼠标连接到系统中的多个 rpi 之一(它们有显示器但没有输入设备)。客户将文件下载到自己设备上的拇指驱动器中,然后将其插入系统中的四个 rpi 之一。该脚本将“做它需要的”来备份旧文件并将新文件scp到系统中正确的主机和远程目录
我可以编写一个 udev 规则,在插入时创建一个指向闪存驱动器的符号链接。符号链接显示在 /dev 下但是,我不能 cd 进入那个符号链接——我可能必须先挂载。
通过观察,LXDE 似乎在插入时自动将 USB 闪存驱动器挂载到 /media 中。使用时我没有看到挂载点的名称(例如 /media/B85D-6433):
udevadm 信息 -a -p $(udevadm 信息 -q 路径 -n /dev/sda1) | grep -i 6433
或者
udevadm 信息 -a -p $(udevadm 信息 -q 路径 -n /dev/sda1) | grep -i B85D
因此,如果不知道 LXDE 的名称,我无法弄清楚 LXDE 会将驱动器安装在哪里。
1) 有没有办法确定 LXDE 将用于挂载点的 /media 下的目录名称?我可以在插件事件之前和之后保留 /media 中的内容列表并以这种方式确定它,但也许有更好的方法?
2)相反,我应该将 /dev 下的符号链接安装到不同的位置,然后通过这个新的安装点在 USB 驱动器上执行脚本吗?
3)其他方式?
谢谢!