系统相关
首页 > 系统相关> > linux – 自动挂载usb并将usb的标签作为mountpoint

linux – 自动挂载usb并将usb的标签作为mountpoint

作者:互联网

当我插入USB时,如何自动挂载usb?
每次自动挂载时,也希望mountpoint成为usb的标签.

编辑:我正在使用基于Debian的Raspian(在Raspberry Pi上).试图安装USB闪存驱动器.我在命令行模式下运行Raspian,因此希望在命令行中自动挂载

解决方法:

Udev通过规则管理设备,这些规则确定插入(或移除)设备时要执行的操作. Udev本身不处理安装,但您可以调用外部程序来进行安装.

存在于/etc/udev/rules.d/下的各种文件中的规则在/ dev / disk / by-label /中创建条目.我们可以使用the same matching conditions来匹配具有文件系统标签的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}'"

自定义脚本应创建安装点并执行安装.如果目录已经存在,应该小心.如果挂载点已经用作挂载点,那么我编写的脚本将不会执行任何操作,但会很高兴地隐藏非空目录.根据您的口味定制.

#!/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"

在拔出设备之前,请不要忘记卸下设备,否则可能会丢失数据.

Ubuntu – Automatically mount external drives to /media/LABEL on boot without a user logged in?显示了使用不同脚本的相同技术.

标签:usb-drive,linux,mount,automounting
来源: https://codeday.me/bug/20190814/1657373.html