udevadm 中文手册
名称
udevadm — udev 管理工具
大纲
udevadm
[--debug
] [--version
] [--help
]
udevadm info [options] [devpath]
udevadm trigger [options] [devpath]
udevadm settle [options]
udevadm control
option
udevadm monitor [options]
udevadm test [options]
devpath
udevadm test-builtin [options]
command
devpath
描述
udevadm 可用于:控制 systemd-udevd.service(8) 服务、请求内核事件、管理事件队列、进行简单的调试。
选项
-d
,--debug
在标准错误(STDERR)上显示调试信息。 udevadm test 与 udevadm test-builtin 命令隐含了此选项。
-h
,--help
显示简短的帮助信息并退出。
udevadm info[options
] [devpath
|file
|unit
...]
从udev数据库中提取设备信息。
位置参数用于指定一个或多个设备,它可以是一个设备名(必须以 /dev/
开头)、一个 sys 路径(必须以 /sys/
开头)、一个设备单元(必须以 ".device
" 结尾)。详见systemd.device(5) 手册。
-q
,--query=
TYPE
提取特定类型的设备信息。
TYPE
可以是下列值之一:name
,symlink
,path
,property
,all
(默认值)-p
,--path=
DEVPATH
该设备在
/sys
目录下的路径(例如[/sys]/class/block/sda
)。 因为此选项是位置参数以/sys/
开头时的替代, 所以通常将 udevadm info --path=/class/block/sda 直接简写为 udevadm info /sys/class/block/sda-n
,--name=
FILE
设备节点或软连接的名称(例如
[/dev]/sda
)。 因为此选项是位置参数以/dev/
开头时的替代, 所以通常将 udevadm info --name=sda 直接简写为 udevadm info /dev/sda-r
,--root
以绝对路径显示
--query=name
与--query=symlink
的查询结果-a
,--attribute-walk
按照udev规则的格式,显示所有可用于匹配该设备的sysfs属性: 从该设备自身开始,沿着设备树向上回溯(一直到树根), 显示沿途每个设备的sysfs属性。
-x
,--export
以 键='值' 的格式输出此设备的属性(注意,值两边有单引号界定)。 仅在指定了
--query=property
或--device-id-of-file=
的情况下才有效。FILE
-P
,--export-prefix=
NAME
在输出的键名前添加一个前缀。 此选项隐含了
--export
-d
,--device-id-of-file=
FILE
显示
FILE
文件所在底层设备的主/次设备号。 如果使用了此选项,那么将忽略所有位置参数。-e
,--export-db
导出udev数据库的全部内容
-c
,--cleanup-db
清除udev数据库
-h
,--help
显示简短的帮助信息并退出。
udevadm trigger[options
] [devpath
|file
|unit
]
强制内核触发设备事件,主要用于重放内核初始化过程中的冷插(coldplug)设备事件。
接受一个用于指定设备的位置参数。参见前面对 info的描述。
-v
,--verbose
显示被触发的设备列表
-n
,--dry-run
并不真正触发设备事件
-t
,--type=
TYPE
仅触发特定类型的设备, TYPE 可以是下列值之一: devices(默认值), subsystems
-c
,--action=
ACTION
指定触发哪种类型的设备事件,ACTION 可以是下列值之一: add, remove, change(默认值)
-s
,--subsystem-match=
SUBSYSTEM
仅触发属于
SUBSYSTEM
子系统的设备事件。 可以在SUBSYSTEM
中使用shell风格的通配符。 如果多次使用此选项,那么表示以 OR 逻辑连接每个匹配规则, 也就是说,所有匹配的子系统中的设备都会被触发。-S
,--subsystem-nomatch=
SUBSYSTEM
不触发属于
SUBSYSTEM
子系统的设备事件。 可以在SUBSYSTEM
中使用shell风格的通配符。 如果多次使用此选项,那么表示以 AND 逻辑连接每个匹配规则, 也就是说,只有不匹配所有指定子系统的设备才会被触发。-a
,--attr-match=
ATTRIBUTE
=VALUE
仅触发那些在设备的sysfs目录中存在 ATTRIBUTE 文件的设备事件。 如果同时还指定了"=VALUE",那么表示仅触发那些 ATTRIBUTE 文件的内容匹配 VALUE 的设备事件。 注意,可以在 VALUE 中使用shell风格的通配符。 如果多次使用此选项,那么表示以 AND 逻辑连接每个匹配规则, 也就是说,只有匹配所有指定属性的设备才会被触发。
-A
,--attr-nomatch=
ATTRIBUTE
=VALUE
不触发那些在设备的sysfs目录中存在 ATTRIBUTE 文件的设备事件。 如果同时还指定了"=VALUE",那么表示不触发那些 ATTRIBUTE 文件的内容匹配 VALUE 的设备事件。 注意,可以在 VALUE 中使用shell风格的通配符。 如果多次使用此选项,那么表示以 AND 逻辑连接每个匹配规则, 也就是说,只有不匹配所有指定属性的设备才会被触发。
-p
,--property-match=
PROPERTY
=VALUE
仅触发那些设备的 PROPERTY 属性值匹配 VALUE 的设备事件。注意,可以在 VALUE 中使用shell风格的通配符。 如果多次使用此选项,那么表示以 OR 逻辑连接每个匹配规则, 也就是说,匹配任意一个属性值的设备都会被触发。
-g
,--tag-match=
PROPERTY
仅触发匹配 PROPERTY 标签的设备事件。如果多次使用此选项, 那么表示以 AND 逻辑连接每个匹配规则,也就是说,只有匹配所有指定标签的设备才会被触发。
-y
,--sysname-match=
SYSNAME
仅触发设备sys名称(也就是该设备在
/sys
路径下最末端的文件名)匹配SYSNAME
的设备事件。 注意,可以在SYSNAME
中使用shell风格的通配符。 如果多次使用此选项,那么表示以 OR 逻辑连接每个匹配规则, 也就是说,匹配任意一个sys名称的设备都会被触发。--name-match=
DEVPATH
触发给定设备及其所有子设备的事件。
DEVPATH
是该设备在/dev
目录下的路径。 如果多次使用此选项,那么仅以最后一个为准。-b
,--parent-match=
SYSPATH
触发给定设备及其所有子设备的事件。
SYSPATH
是该设备在/sys
目录下的路径。 如果多次使用此选项,那么仅以最后一个为准。-w
,--settle
除了触发设备事件之外,还要等待这些事件完成。 注意,此选项仅等待该命令自身触发的事件完成, 而 udevadm settle 则要一直等到 所有设备事件全部完成。
--wait-daemon[=
SECONDS
]在触发设备事件之前,等待 systemd-udevd 守护进程完成初始化。 默认等待 5 秒之后超时(可以使用
SECONDS
参数修改)。 此选项等价于在 udevadm trigger 命令之前先使用 udevadm control --ping 命令。-h
,--help
显示简短的帮助信息并退出。
可以直接使用以/sys
或 /dev
开头的绝对路径来指定目标设备。
udevadm settle[options
]
监视udev事件队列,并且在所有事件全部处理完成之后退出。
-t
,--timeout=
SECONDS
最多允许花多少秒等候事件队列清空。 默认值是120秒。 设为 0 表示仅检查事件队列是否为空, 并且立即返回。
-E
,--exit-if-exists=
FILE
如果 FILE 文件存在,则停止等待。
-h
,--help
显示简短的帮助信息并退出。
udevadm control option
控制udev守护进程(systemd-udevd)的内部状态。
-e
,--exit
向 systemd-udevd 发送"退出"信号并等待其退出。因为
systemd-udevd.service
中含有Restart=always
,所以此选项实际是重启了 systemd-udevd 。 如果你想停止systemd-udevd.service
,那么应该使用:systemctl stop systemd-udevd-control.socket systemd-udevd-kernel.socket systemd-udevd.service
-l
,--log-priority=
value
设置 systemd-udevd.service(8) 的内部日志等级。 可以用数字或文本表示: r
emerg
(0),alert
(1),crit
(2),err
(3),warning
(4),notice
(5),info
(6),debug
(7)-s
,--stop-exec-queue
向 systemd-udevd 发送"禁止处理事件"信号, 这样所有新发生的事件都将进入等候队列。
-S
,--start-exec-queue
向 systemd-udevd 发送"开始处理事件"信号,也就是开始处理事件队列中尚未处理的事件。
-R
,--reload
向 systemd-udevd 发送"重新加载"信号,也就是重新加载udev规则与各种数据库(包括内核模块索引)。 注意,重新加载之后并不影响已经存在的设备, 但是新的配置将会应用于所有将来发生的新设备事件。
-p
,--property=
KEY
=value
为所有将来发生的新设备事件统一设置一个全局的 KEY 属性,并将其值设为 value
-m
,--children-max=
value
设置最多允许 systemd-udevd 同时处理多少个设备事件。
--ping
向 systemd-udevd 发送一个"ping"消息并等待应答。用于检查 systemd-udevd 守护进程是否仍在正常运行。
-t
,--timeout=
seconds
等候 systemd-udevd 应答的最大秒数。
-h
,--help
显示简短的帮助信息并退出。
udevadm monitor[options
]
监视内核发出的设备事件(以"KERNEL"标记),以及udev在处理完udev规则之后发出的事件(以"UDEV"标记),并在控制台上输出事件的设备路径(devpath)。可用于分析udev处理设备事件所花的时间(比较"KERNEL"与"UDEV"的时间戳)。
-k
,--kernel
仅显示"KERNEL"事件
-u
,--udev
仅显示"UDEV"事件
-p
,--property
同时还显示事件的各属性
-s
,--subsystem-match=
subsystem[/devtype]
根据 subsystem[/devtype] 对事件(包括 kernel uevent 与 udev event)进行过滤,仅显示与"子系统[/设备类型]"匹配的"UDEV"事件。 如果多次使用此选项,那么表示以 OR 逻辑连接每个匹配规则, 也就是说,所有指定子系统中的设备都会被监视。
-t
,--tag-match=
string
根据设备标签对事件(仅 udev event)进行过滤,仅显示与"标签"匹配的"UDEV"事件。 如果多次使用此选项,那么表示以 OR 逻辑连接每个匹配规则, 也就是说,拥有任一指定标签的设备都会被监视。
-h
,--help
显示简短的帮助信息并退出。
udevadm test[options
] [devpath
]
模拟一个设备事件,并输出调试信息。
-a
,--action=
ACTION
指定模拟哪种类型的设备事件,ACTION 可以是下列值之一:add(默认值), remove, change
-N
,--resolve-names=
early
|late
|never
指定 udevadm 何时解析用户与组的名称:
early
(默认值) 表示在规则的解析阶段;late
表示在每个事件发生的时候;never
表示从不解析, 所有设备的属主与属组都是 root 。-h
,--help
显示简短的帮助信息并退出。
udevadm test-builtin[options
] [command
] [devpath
]
针对 DEVPATH
设备 运行一个内置的 COMMAND
命令,并输出调试信息。
-h
,--help
显示简短的帮助信息并退出。