本文译者是一位开源理念的坚定支持者,所以本文虽然不是软件,但是遵照开源的精神发布。
本文译者十分愿意与他人分享劳动成果,如果你对我的其他翻译作品或者技术文章有兴趣,可以在如下位置查看现有的作品集:
由于译者水平有限,因此不能保证译文内容准确无误。如果你发现了译文中的错误(哪怕是错别字也好),请来信指出,任何提高译文质量的建议我都将虚心接纳。
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
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
¶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
开头的绝对路径来指定目标设备。
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) 的内部日志等级。
可以用数字或文本表示:
remerg
(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
¶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
¶