如何在 Ubuntu 上使用 udevadm如何在 Ubuntu 上使用 udevadm如何在 Ubuntu 上使用 udevadm如何在 Ubuntu 上使用 udevadm
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Ubuntu 上使用 udevadm

自内核版本 2.6 以来,udev 一直是用于动态设备管理和检测的 Linux 子系统。它被认为是“hotplug”和“devfs”的替代品。在启动时,或者当您从 Ubuntu 系统中添加或删除任何设备时,它会动态构建或删除设备节点。这些节点为文件系统中的设备驱动程序提供接口。设备的信息或状态更改通过使用“udevadm”传播到用户空间。在 Ubuntu 等基于 Linux 的系统中,它也称为“设备管理器”。

udevadm在Ubuntu上有什么功能

udevadm 的一些关键功能包括:

  • 它管理设备节点权限。

  • 它向系统应用程序提供设备事件。

  • 它在“/dev”目录中创建有用的符号链接来访问任何设备或网络接口。

现在,我们将向您演示如何在 Ubuntu 上使用 udevadm。那么让我们开始吧!

如何在 Ubuntu 上使用 udevadm

udevadm 从设备连接到系统的那一刻起一直对其进行跟踪,直到将其拔出为止。如果您想监视或跟踪设备事件,请在终端中执行以下给出的命令:

$ udevadm monitor

输出声明 udevadm 正在跟踪所有设备事件。在此过程中,如果您将任何设备连接到系统,您将看到 udevadm 也会将该设备纳入其监控系统:

如何使用 udevadm 打印设备的归属

在 Ubuntu 终端中,“udevadm info”是用于打印任何特定设备属性的命令。例如,要打印“sr0”设备的属性集及其相关信息,我们将在终端中编写以下给出的命令:

$ udevadm info -a -p /block/sr0

这里,添加“-a”选项用于列出“sr0”设备的属性,而“-p”将定义“dev”路径:

如何使用 udevadm 添加 udev 规则

首先,我们将通过在终端中运行此命令来找到 ENV{PRODUCT} 并将您的设备连接到系统:

$ udevadm monitor --kernel --property --subsystem-match=usb

这里,

  • “-kernel”确保事件设备的名称正确

  • “-property”将显示设备属性

  • “subsystem-match”选项将匹配事件“usb”设备的子系统

例如,我们已将键盘连接到我们的系统。现在,我们将利用“/usr/lib/udev/rules.d/91-keyboard.rules”文件添加一个名为“键盘.规则”。为此,请在“nano”编辑器中打开“/usr/lib/udev/rules.d/91-keyboard.rules”文件:

现在,在打开的“/usr/lib/udev/rules.d/91-keyboard.rules”文件中添加以下代码:

ACTION=="add",SUBSYSTEM=="usb",ENV{PRODUCT}=="1a2c/4c5e/110",RUN+="/bin/sh /home/linux/keyboard.sh"

此代码“添加”“ACTION”或一条规则,每当“USB”类型设备具有“PRODUCT=1a2c/4c5e/110 ”附加到系统后,它将执行“/home/linux/keyboard.sh”脚本:

按“CTRL+O”保存“/usr/lib/udev/rules.d/91-keyboard.rules”文件。之后,我们将创建一个“keyboard.sh”脚本并在其中写入下面给出的“echo”命令:

echo "Keyboard connected!" > /home/linux/keyboard.log

现在,使用“chmod”命令使“keyboard.sh”文件可执行:

$ sudo chmod +x /home/linux/keyboard.sh

如何使用 udevadm 应用 udev 规则

要应用添加的规则,请在终端中使用“udevadm control”命令:

$ sudo udevadm control --reload

这里,“–reload”选项将重新加载udev规则:

现在,每当您连接键盘时,系统都会自动执行“keyboard.sh”脚本,并在日志文件中写入“键盘已连接”。您可以使用 content 命令查看“keyboard.log”的内容:

$ cat keyboard.log

如何使用 udevadm 测试 udev 规则

要测试任何设备添加的规则,可以在终端中使用“udevadm test”命令。以下是“udevadm test”命令的语法:

udevadm test $(udevadm info -q path -n [device name])

这里添加“-q”选项来查询数据库中的设备信息,通过其路径指定。接下来,为设备名称添加选项“-n”。

现在,对于我们的“sr0”(CD-ROM)设备,我们将通过在终端中编写以下给出的命令来检查测试 udev 规则:

$ udevadm test $(udevadm info -q path -n sr0)

这就是关于 udevadm 的全部内容,您可以访问 udevadm 手册页以获取更多信息。

结论

©2015-2025 艾丽卡 support@alaica.com