8.UDEV的配置文件,自动挂载U盘
- UDEV的配置文件
- udev 规则的匹配键
- 挂载U盘
- 手动挂载U盘
- 自动挂载
- usbpan.rules
- tree命令
UDEV的配置文件
参考文章:Linux 基础 – udev 和 rules 使用规则5
规则文件是 udev 里最重要的部分,默认是存放在 /etc/udev/rule.d/ 下。
所有的规则文件必须以 “.rules” 为后缀名。
下面是一个简单的规则:
KERNEL=="sda", NAME="my_root_disk", MODE="0660"
KERNEL 是匹配键,NAME 和 MODE 是赋值键。
KERNEL 是匹配键,NAME 和 MODE 是赋值键。这条规则的意思是:如果有一个设备的内核名称为 sda,则该条件生效,执行后面的赋值:在 /dev 下产生一个名为my_root_disk 的设备文件,并把设备文件的权限设为 0660。
ls /dev/bus/usb/001/001
udevadm info --attribute-walk --name=/dev/设备名字
SUBSYSTEM=="usb", ATTRS{idVendor}=="1d6b", ATTRS{idProduct}=="0002", MODE="0666"
udev 规则的匹配键
ACTION:事件(uevent)的行为,例如:add(添加设备)、remove(删除设备);
KERNEL:内核设备名称,例如:sda,cdrom;
DEVPATH:设备的 devpath 路径;
SUBSYSTEM:设备的子系统名称,例如:sda 的系统为 block;
BUS:设备在 devpath 里的总线名称,例如:usb;
DRIVER:设备在 devpath 的设备驱动名称,例如:ide-cdrom;
ID:设备在 devpath 里的识别号;
SYSFS{filename}:设备的 devpath 路径下,设备的属性文件 "filename" 里的内容;
ENV{key}:环境变量。在一条规则中,可以设定最多五条环境变量的 匹配键;
PROGRAM:调用外部命令;
RESULT:外部命令 PROGRAM 的返回结果。
挂载U盘
手动挂载U盘
sudo mount /dev/sda1 /mnt/
cd /mnt/
自动挂载
udevadm info --attribute-walk --name=/dev/sda1
usbpan.rules
ACTION=="add", SUBSYSTEMS=="usb", SUBSYSTEM=="block", RUN{program}+="/bin/mkdir /media/%k" ,RUN{program}+="/usr/bin/systemd-mount --no-block --collect $devnode /media/%k"
这是一个udev规则,通常用于在插入USB存储设备时自动创建挂载点并挂载设备。这个规则的含义如下:
ACTION=="add"
: 规则只在添加设备时触发。
SUBSYSTEMS=="usb"
: 设备必须属于USB子系统。
SUBSYSTEM=="block"
: 设备必须是块设备。
RUN{program}+="/bin/mkdir /media/%k"
: 当设备满足规则条件时,运行命令创建 /media/ 目录下以设备名称(%k)命名的目录。
RUN{program}+="/usr/bin/systemd-mount --no-block --collect $devnode /media/%k"
: 运行 systemd-mount 命令,将设备挂载到之前创建的目录。
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/m0_62140641/article/details/134329980
这个规则的效果是,当插入一个USB块设备时,udev将创建一个以设备名称为名字的目录(例如,如果设备名称是sdb1,那么将创建 /media/sdb1
目录),然后使用 systemd-mount
挂载设备。
请注意,使用 systemd-mount
需要系统使用systemd init
系统。此外,一般情况下,挂载点应该在 /mnt/
目录下而不是 /media/
,因为 /media/
通常是由文件管理器等工具使用的默认挂载点。
cd /etc/udev/rules.d/
sudo vi usbpan.rules
sudo service udev restart
自动挂载成功
cd /media
tree命令
sudo apt-get install tree
tree /media/