udev源码开源下载地址分享

udev是Linux系统中的动态设备管理系统,负责设备节点的权限管理和符号链接创建。当设备插入或移除时,udev监听内核事件并根据预设规则进行响应。本文介绍了udev的工作原理,包括规则文件的结构、匹配与分配规则,以及如何通过规则文件重命名网络接口和创建符号链接。

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

udev源码在学习中可能会被用到。这里分享一下我找到的udev的下载地址。

https://git.kernel.org/pub/scm/linux/hotplug/udev.git/

旧式的发布地址是http地址下的../pub/linux/utils/kernel/hotplug

该地址中的udev版本不是连续的,所以没有贸然下载,但其中的udev选项中包含了udev的开发者手册。

贴在下方(google翻译的结果)


udev — 动态设备管理

说明

udev 为系统软件提供设备事件,管理设备节点的权限,并可能在/dev/ 目录中创建额外的符号链接,或重命名网络接口。内核通常只是根据发现的顺序分配不可预测的设备名称。有意义的符号链接或网络设备名称提供了一种根据设备的属性或当前配置可靠地识别设备的方法。

udev 守护进程systemd-udevd.service (8)会直接从内核接收设备uevents,无论何时在系统中添加或删除设备,或者更改其状态。当 udev 收到设备事件时,它会将其配置的规则集与各种设备属性进行匹配以识别设备。匹配的规则可能会提供要存储在 udev 数据库中或用于创建有意义的符号链接名称的附加设备信息。

udev 处理的所有设备信息都存储在 udev 数据库中并发送给可能的事件订阅者。库 libudev 提供对所有存储数据和事件源的访问。

规则文件

udev的规则是从位于系统的规则目录中的文件读取 /usr/lib/udev/rules.d和/usr/local/lib/udev/rules.d,挥发性运行时目录/run/udev/rules.d和本地管理目录/etc/udev/rules.d。所有规则文件都按照词法顺序进行集体排序和处理,而不管它们所在的目录如何。但是,具有相同文件名的文件会相互替换。中的文件/etc/具有最高优先级, 中的文件/run/优先于/usr/.下的同名文件 。如果需要,这可用于用本地文件覆盖系统提供的规则文件;/etc/与中的规则文件同名 的符号链接/usr/lib/,指向/dev/null, 完全禁用规则文件。规则文件必须有扩展名.rules;其他扩展被忽略。

规则文件中的每一行至少包含一个键值对。除了空行或以“ #”开头的行,它们被忽略。有两种键:匹配和分配。如果所有匹配键与其值匹配,则应用规则并且分配键获得分配的指定值。

匹配规则可以重命名网络接口,添加指向设备节点的符号链接,或作为事件处理的一部分运行指定的程序。

规则由一个或多个键-运算符-值表达式的逗号分隔列表组成。每个表达式都有不同的效果,具体取决于使用的键和运算符。

运算符

" ==" 

比较是否相等。(指定的键具有指定的值。)

" !=" 

比较不平等。(指定的键没有指定的值,或者指定的键根本不存在。)

" =" 

为键分配一个值。表示列表的键被重置,并且只分配这个单个值。

" +=" 

将该值添加到包含条目列表的键。

" -=" 

从包含条目列表的键中删除值。

" :=" 

最后给一个键赋值;不允许以后进行任何更改。

值写为双引号字符串,例如 ("string")。要在值中包含引号 ("),请在其前面加上反斜杠 (\")。任何其他出现的反斜杠后跟一个字符都不会被转义。即,"\t\n" 被视为四个字符:反斜杠、小写 t、反斜杠、小写 n。

字符串可以以小写 e (e"string\n") 为前缀,以将字符串标记为 C 风格的 escaped。例如,e"string\n" 被解析为 7 个字符:6 个小写字母和一个换行符。当内核驱动程序需要它们时,这对于编写特殊字符很有用。

请注意,这NUL在任一字符串变体中都是不允许的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值