-
Notifications
You must be signed in to change notification settings - Fork 13
/
92.2、udevadm - udev 管理程序
248 lines (167 loc) · 5.65 KB
/
92.2、udevadm - udev 管理程序
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
udevadm udev 管理工具
udevadm 由一系列命令组成
全局参数
--debug
将 debug 信息打印至 StdErr
--version
打印版本号
-h, --help
打印帮助
命令与对应参数
udevadm info [options] [devpath|file]
从 udev 数据库中拉取设备信息
以及从 设备的 sysfs 表示中拉取设备属性,用于创建匹配该设备的 udev 规则
-q, --query=TYPE
从 udev 数据库中拉取指定类型的设备属性
需要 --path 或 --name 参数指明设备
合法的类型包含:
name、symlink、path、property、all
-p, --path=DEVPATH
被拉取的设备在 /sys 目录下的路径
eg. [/sys]/class/block/sda
本选项不是非常有用,因为 udev 可以猜测参数的类型
所以
udevadm --devpath=/class/block/sda
等价于
udevadm /sys/class/block/sda
-n, --name=FILE
被拉取的设备节点名或软链接
eg. [/dev]/sda
本选项不是非常有用,因为 udev 可以猜测参数的类型
所以
udevadm --name=sda
等价于
udevadm /dev/sda
-r, -root
打印 被拉取的 设备名/节点名/软链接 的绝对路径
-a, --attribute-walk
打印指定设备所有的 sysfs 属性,这些属性可以用于在 udev 规则中匹配该设备
-x, --export
以 键-值对 的形式打印输出
值被包括在单引号内
-P, --export-prefix=NAME
将导出的键名钱加入一个前缀
-d, --device-id-of-file=FILE
打印文件依赖的 底层设备的 主次号
-e, --export-db
导出全部 udev 数据库的内容
-c, --cleanup-db
清除全部 udev 的数据库
--version
打印版本
-h, --help
打印帮助
udevadm trigger [options] [devpath|file...]
向 内核 请求 设备事件
主要用于在系统 coldplug 时重演事件
-v, --verbose
打印将要被 trigger 的设备列表
-n, --dry-run
不要真的触发事件
-c, --action=ACTION
将被触发的事件类型
默认类型是 change
-s, --subsystem-match=SUBSYSTEM
触发属于指定 subsystem 的设备的事件
该值可重复指定,并支持 shell 样式的通配
-S, --subsystem-nomatch=SUBSYSTEM
不触发属于指定 subsystem 的设备的事件
该值可重复指定,并支持 shell 样式的通配
-a, --attr-match=ATTRIBUTE=VALUE
触发匹配上 sysfs 属性的设备的事件
若一个属性名后指明了属性值,则匹配该属性的属性值
支持 shell 样式的通配
若仅出现一个属性名,则匹配上所有具有该属性名的设备
可重复指定
-A, --attr-nomatch=ATTRIBUTE=VALUE
不触发匹配上 sysfs 属性的设备的事件
若一个属性名后指明了属性值,则匹配该属性的属性值
支持 shell 样式的通配
若仅出现一个属性名,则匹配上所有具有该属性名的设备
可重复指定
-p, --property-match=PROPERTY=VALUE
触发匹配上 属性值 的设备的事件
该值可重复指定,并支持 shell 样式的通配
-g, --tag-match=PROPERTY
触发匹配上 标签 的设备的事件
该值可重复指定
-y, --sysname-match=PATH
触发匹配上 /sys 路径指定的设备的事件
该值可重复指定
--name-match=NAME
触发匹配上设备路径的设备的事件
该值可重复指定
-b, --parent-match=SYSPATH
触发指定设备的所有子设备的设备事件
-h, --help
打印帮助
udevadm settle [option]
监看 udev 事件队列,若当前事件队列为空,则退出
-t, --timeout=SECONDS
等待事件队列清空的最长时间
默认为 120 秒
值为 0 时,会检查队列是否清空,并立刻返回
-E, --exit-if-exists=FILE
若文件存在则结束等待
-h, --help
打印帮助
udevadm control [options]
修改运行中的 udev 进程的内部状态
-x, --exit
向 systemd-udevd 发出信号,并等待其退出
-l, --log-priority=value
设置 systemd-udevd 的内部 log 等级
同 syslog 的 log 等级设置:
emerg, alert, crit, err, warning, notice, info, debug
-s, --stop-exec-queue
向 systemd-udevd 发送信号,停止处理新的事件
新的事件将加入队列
-S, --start-exec-queue
向 systemd-udevd 发送信号,开始处理新的事件
-R, --reload
向 systemd-udevd 发送信号,重载规则文件和其它的数据库(比如内核模块索引)
重载的规则和数据库不会修改已存在的设备产生
新的配置仅会影响新的事件
-p, --property=KEY=value
为全部事件设置全局属性
-m, --children-max=value
设置 systemd-udevd 将同时处理的最大事件个数
--timeout=seconds
设置等待 systemd-udevd 回复的最大秒数
-h, --help
打印帮助
udevadm monitor [options]
监听 内核 uevent 以及 被 udev 规则 发送的 事件,并打印它们的 devpath
当对比 kernel uevent 和 udev 事件的时间戳,可用于为事件测时
-k, --kernel
打印内核 uevent
-u, --udev
打印规则处理之后的 udev 事件
-p, --property
同时打印事件的属性
-s, --subsystem-match=string[/string]
通过 subsystem[/devpath] 来过滤事件
匹配上的事件将被过滤掉
-t, --tag-match=string
通过属性来过滤事件
匹配上标签的事件将被过滤
-h, --help
打印帮助
udevadm test [options] [devpath]
模拟一个给定设备的 udev 事件,并打印 debug 结果
-a, --action=string
设置动作名
-N, --resolve-names=early|late|never
指定 udevadm 是否解析 用户和群组名
当设置为 early(也即默认值)时,解析规则时,名称即被解析
当设置为 late 时,名称将为每个事件解析
设置为 never 时,没有名称将被解析,所有的设备的全部被 root 拥有
-h, --help
打印帮助
udevadm test-builtin [options] [command] [devpath]
为设备 devpath 运行内置命令,并打印 debug 输出
-h, --help
打印帮助
参见
udev(7)
systemd-udevd.service(8)