因此,我尝试创建一个 udev 规则,以自动将驱动器 exfat 分区挂载到 /media/offsite。我的目标是自动将驱动器挂载到 /media/offsite,然后启动 .sh 脚本来复制文件。我读了很多指南,学到了很多东西,但我仍然遇到困难。许多指南都非常过时,适用于 USB 驱动器,而我有一个对接驱动器。
为了查看规则是否会触发,我在 /etc/udev/rules.d/80-external-disk.rules 中创建了此规则:
ACTION=="add", ENV{DEVTYPE}=="partition", ENV{ID_FS_UUID}=="5359-818E", RUN+="/bin/mount -t exfat -U $env{ID_FS_UUID}"
我重新加载了规则,重新启动了服务器,还做了一些其他的事情,但看来规则没有触发。
udevadm test $(udevadm info -q path -n /dev/sdb) 2>&1 | grep /etc/udev/rules.d
这只会产生以下内容;
parse_file: reading '/etc/udev/rules.d/70-persistent-cd.rules' as rules file
parse_file: reading '/etc/udev/rules.d/70-persistent-net.rules' as rules file
parse_file: reading '/etc/udev/rules.d/80-external-disk.rules' as rules file
我的想法是 UUID 属于分区而不是驱动器。由于分区是 exfat,UDEV 甚至可以看到该 UUID 吗?
答案1
mount
在 udev 的后期版本中是不允许的。如果您使用 Gnome/Unity 或其他 DE 的任何其他替代方案,最好使用 udisks。
man udev
跑步
请注意,由于 systemd-udevd.service 上强制执行的默认沙箱,udev 规则内不允许运行访问网络或挂载/卸载文件系统的程序。