Mok*_*kum 4 usb udev symbolic-link
我正在攻读 Linux 基金会的 Linux 认证,但我对一个实验室有一些疑问。这是实验室:
- 在您的系统上创建并实施一个规则,该规则将在插入 USB 设备时创建一个名为 myusb 的符号链接。
- 将 USB 设备插入您的系统。它可以是笔式驱动器、鼠标、网络摄像头等。 注意:如果您在管理程序下运行虚拟机,则必须确保来宾可以看到 USB 设备,这通常只是单击鼠标,也会断开连接它来自主机。
- 获取 /dev 目录的列表并查看您的符号链接是否已创建。
- 移除 USB 设备。(如果它是一个驱动器,为了安全起见,你应该总是先卸载它。)
- 查看您的符号链接是否仍然存在于 /dev 中。
我在终端做了什么;
创建一个名为 /etc/udev/rules.d/75-myusb.rules
sudo vim /etc/udev/rules.d/75-myusb.rules
Run Code Online (Sandbox Code Playgroud)并让它只包含一行内容:
SUBSYSTEM=="usb", SYMLINK+="myusb"
Run Code Online (Sandbox Code Playgroud)重启 udev 服务并检查
sudo /etc/init.d/udev restart
ls -lF /dev | grep myusb
Run Code Online (Sandbox Code Playgroud)但是比上一个命令没有输出,根本没有列表。
如何检查符号链接是否已创建?
几点
使用75-,规则按顺序运行。您的规则有可能被来自 的下一个规则覆盖/lib/udev/rules.d/,更喜欢使用99-~90-
SUBSYSTEM=="usb", SYMLINK+="myusb" 太笼统
它匹配所有事件操作add, remove& change。除了所有 USB 设备。也许你应该让它更严格。
检查使用 lsusb
Bus 003 Device 003: ID 0461:4d81 Primax Electronics, Ltd Dell N889 Optical Mouse
Run Code Online (Sandbox Code Playgroud)
并添加它们:
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0461", ATTRS{idProduct}=="4d81", SYMLINK+="myusb"
Run Code Online (Sandbox Code Playgroud)并非所有设备都在/dev. (你能说说你用过什么类型的设备吗)
奖励:),即使如此,关于树设备节点的规则仍然很广泛。当您插入相机时,不仅会创建一个节点,还会创建许多从树根到叶子的节点(在大多数情况下,叶子是想要的节点)。查看:
udevadm info -a /dev/video0
Run Code Online (Sandbox Code Playgroud)
先前修改的规则可能匹配最后两个节点(而不是叶节点)。
| 归档时间: |
|
| 查看次数: |
31317 次 |
| 最近记录: |