linux 自动挂载U盘之udev

本文介绍了一种在Linux系统中自动挂载USB设备的方法。通过创建udev规则文件10_jixiuf_usb.rules,可以实现根据不同文件系统的USB设备进行自动挂载,并针对vfat和ntfs文件系统设置了特定的挂载选项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

cd /etc/udev/rules.d/

 

建立一个文件 10_jixiuf_usb.rules

内容如下

 

KERNEL!="sd[b-z][0-9]", GOTO="media_by_label_auto_mount_end"

# Import FS infos
IMPORT{program}="/sbin/blkid -o udev -p %N"

# Get a label if present, otherwise specify one
ENV{ID_FS_LABEL}!="", ENV{dir_name}="%E{ID_FS_LABEL}"
ENV{ID_FS_LABEL}=="", ENV{dir_name}="usb-%k"

# Global mount options
ACTION=="add", ENV{mount_options}="relatime"
# Filesystem-specific mount options
# 如果是vfat 或者ntfs 系统,则设置mount_options 的选项如下
ACTION=="add", ENV{ID_FS_TYPE}=="vfat|ntfs", ENV{mount_options}="$env{mount_options},utf8,gid=100,umask=000"

# Mount the device
#  如果文件系统不是ntfs ,意味着是vfat
# 同时挂载到/media/sd[b-z][0-9] 的形式
ACTION=="add",ENV{ID_FS_TYPE}!="ntfs", RUN+="/bin/mkdir -p /mnt/usb-%k", RUN+="/bin/mount -o $env{mount_options},rw /dev/%k /mnt/usb-%k"

#ntfs
#  如果文件系统是ntfs ,以ntfs-3g 的形式挂载,实现可读写
# 同时挂载到/media/sd[b-z][0-9] 的形式

ACTION=="add",ENV{ID_FS_TYPE}=="ntfs", RUN+="/bin/mkdir -p /mnt/usb-%k", RUN+="/bin/mount -t ntfs-3g -o $env{mount_options},rw /dev/%k /mnt/usb-%k"
# Clean up after removal
#
ACTION=="remove", ENV{dir_name}!="",  RUN+="/bin/umount -l /mnt/usb-%k",  RUN+="/bin/rmdir /mnt/usb-%k" ,  RUN+="/bin/rm /mnt/usb-%k"


# Exit
LABEL="media_by_label_auto_mount_end"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值