尝试创建 UDEV 规则以挂载可移动驱动器 exfat 分区

尝试创建 UDEV 规则以挂载可移动驱动器 exfat 分区

因此,我尝试创建一个 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 规则内不允许运行访问网络或挂载/卸载文件系统的程序。

相关内容