我正在学习 Linux 基金会的 Linux 认证,但对一个实验室有一些疑问。以下是该实验室:
- 在您的系统上创建并实施一条规则,当插入 USB 设备时,该规则将创建一个名为 myusb 的符号链接。
- 将 USB 设备插入系统。它可以是 U 盘、鼠标、网络摄像头等。注意:如果您在虚拟机管理程序下运行虚拟机,则必须确保客户机可以看到 USB 设备,这通常只需单击鼠标即可,同时会断开与主机的连接。
- 获取 /dev 目录的列表并查看您的符号链接是否已创建。
- 移除 USB 设备。(如果是驱动器,则应始终先将其卸载以确保安全。)
- 查看你的符号链接是否仍然存在于 /dev 中。
我在终端做了什么;
创建名为
/etc/udev/rules.d/75-myusb.rules
sudo vim /etc/udev/rules.d/75-myusb.rules
并使其仅包含一行内容:
SUBSYSTEM=="usb", SYMLINK+="myusb"
重启 udev 服务并检查
sudo /etc/init.d/udev restart ls -lF /dev | grep myusb
但是最后一个命令没有输出,根本没有列表。
我如何检查符号链接是否已创建?
答案1
几点
使用
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
并添加它们:
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0461", ATTRS{idProduct}=="4d81", SYMLINK+="myusb"
并非所有设备都会在 中创建节点
/dev
。(您能否提及您使用过哪种类型的设备)额外奖励 :),即便如此,规则仍然与树设备节点有关。插入相机时,不仅会创建一个节点,还会从树根到叶子创建多个节点(叶子在大多数情况下是所需的节点)。检查:
udevadm info -a /dev/video0
先前修改的规则可能匹配最后两个节点(不是叶子)。