syn*_*sis 5 linux automounting mount usb-drive
如何在插入 USB 时自动安装 USB?还希望每次自动安装时,安装点都是 USB 的标签。
编辑:我正在使用基于 Debian 的 Raspian(在 Raspberry Pi 上)。正在尝试安装 USB 闪存驱动器。我在命令行模式下运行 Raspian,因此想在命令行中自动挂载
Udev通过规则来管理设备,这些规则确定插入(或移除)设备时要执行的操作。Udev 本身不处理安装,但您可以让它调用外部程序来执行安装。
有一些规则存储在 下的各个文件中/etc/udev/rules.d/,这些规则在 中创建条目/dev/disk/by-label/。我们可以使用相同的匹配条件来匹配具有文件系统标签的 USB 设备并运行自定义脚本。
ENV{ID_FS_LABEL_ENC}=="?*", ENV{ID_FS_USAGE}=="filesystem|other", \
SUBSYSTEMS=="usb", \
RUN += "/usr/local/sbin/udev-mount-by-label '%E{ID_FS_LABEL_ENC}'"
Run Code Online (Sandbox Code Playgroud)
自定义脚本应创建安装点并执行安装。如果该目录已经存在,应该小心一些。如果挂载点已被用作挂载点,我编写的脚本将不会执行任何操作,但会很高兴地隐藏非空目录。根据您的口味定制。
#!/bin/sh
export mount_point="/media/$1"
current_device=$(awk '$2 == ENVIRON["mount_point"] {print $1; exit}' </proc/mounts)
if [ -n "$current_device" ]; then
echo 1>&2 "$current_device already mounted on $mount_point"
exit 1
fi
mount "/dev/disk/by-label/$1" "$mount_point"
Run Code Online (Sandbox Code Playgroud)
拔掉插头之前不要忘记卸载设备,否则可能会丢失数据。
Ubuntu - 在没有用户登录的情况下启动时自动将外部驱动器安装到/media/LABEL?使用不同的脚本显示相同的技术。