8.【Orangepi Zero2】UDEV的配置文件,自动挂载U盘

本文详细解释了UDEV配置文件中的规则,特别是如何使用KERNEL、ACTION和SUBSYSTEM匹配键来自动挂载USB设备。通过udevadm和systemd-mount,实现USB设备的自动创建挂载点并挂载。
摘要由CSDN通过智能技术生成

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/

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值