Ubuntu设备管理udev

Ubuntu设备管理udev

参考资料:

@Ubuntu manuals udev

@CLEARPATH UDEV RULES

udev: Linux dynamic device management

udev的主要作用是完成设备的动态管理

udev提供了与硬件外设之间的系统软件, 负责管理各设备的权限以及将设备通过symlink挂载到/dev/目录下, 为设备赋予别名.

通常情况下, linux的内核会基于发现顺序(先插进去不一定会优先读取)随机为连接的设备分配一个设备名(device name), 因此如果想要可靠的调用某一个设备, 就需要为该设备配置一个规则, 根据别名来进行设备的调用.

symlink的作用就是根据设备的属性(properties)或者当前的配置为设备取别名, 之后可以通过symlink来唯一标识该设备

udev 守护进程(udev daemon)

该守护进程通过systemd-udevd.service配置, 直接从内核中读取设备的添加与移除或者状态的改变. 当udev被硬件设备的事件(uevent)触发, 会根据之前配置好的规则(通常位于/etc/udev/rules.d/*)与设备的各种属性进行匹配, 根据这些属性来识别设备.

属性包括: 设备类型 制造商ID(idVendor), 产品ID(idProduct), 序列号(serial)等

udev rules

udev规则文件可以位于不同的目录中,通常是/etc/udev/rules.d/一般用来存放用户自定义的规则, 和/lib/udev/rules.d/这里存放的是系统默认的以及包管理器管理的规则. 所有的规则文件, 必须.rules结尾, 其他的后缀名会被忽略

所有的udev规则文件中, 每一行至少需要包含一组键值对, 空行与注释行(以#开头)除外.

键值对分为两类, 匹配型(match)以及配置型(assignment), 如果匹配型键值对完全吻合, 则后面的配置型键值对会对该设备进行配置, 应用用户定义的规则

在udev规则中,键值对用于匹配设备属性或指定规则应该执行的动作。每个键(key)后面可以跟随一个操作符(operator),用来定义键和值之间的关系或者操作的类型。不同的操作符有不同的含义,根据操作符的不同,规则可以用来匹配设备、设置属性或执行某些操作。以下是一些有效的操作符及其含义:

== (比较操作符)

  • 用于匹配。如果设备的属性与指定的值相等,则匹配成功。
  • 例如:ATTRS{idVendor}=="0483"匹配制造商ID为0483的设备。

!= (不等操作符)

  • 用于匹配。如果设备的属性与指定的值不相等,则匹配成功。
  • 例如:ATTRS{idVendor}!="0483"匹配所有制造商ID不是0483的设备。

= (赋值操作符)

  • 用于设置属性值。
  • 例如:NA
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Smile Hun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值