日期:2014-05-16 浏览次数:20632 次
本文以通俗的方法阐述 udev 及相关术语的概念、udev 的配置文件和规则文件,然后以 Red Hat Enterprise Server 为平台演示一些管理设备文件和查询设备信息的实例。本文会使那些需要高效地、方便地管理 Linux 设备的用户受益匪浅,这些用户包括 Linux 最终用户、设备驱动开发人员、设备测试人员和系统管理员等等。
?
来自黄 懋 , 软件工程师, IBM,原文链接 http://www.ibm.com/developerworks/cn/linux/l-cn-udev/index.html
?
下面对此文做摘录。
?
?????? 什么是 udev?
udev 是 Linux2.6 内核里的一个功能,它替代了原来的 devfs ,成为当前 Linux 默认的设备管理工具。udev 以守护进程的形式运行,通过侦听内核发出来的 uevent 来管理?/dev 目录下的设备文件。不像之前的设备管理工具,udev 在用户空间 (user space) 运行,而不在内核空间 (kernel space) 运行。
?
使用 udev 的好处:
我们都知道,所有的设备在 Linux 里都是以设备文件的形式存在。在早期的 Linux 版本中,/dev 目录包含了所有可能出现的设备的设备文件。很难想象 Linux 用户如何在这些大量的设备文件中找到匹配条件的设备文件。现在 udev 只为那些连接到 Linux 操作系统的设备产生设备文件。并且 udev 能通过定义一个 udev 规则 (rule) 来产生匹配设备属性的设备文件,这些设备属性可以是内核设备名称、总线路径、厂商名称、型号、序列号或者磁盘大小等等。
动态管理:当设备添加 / 删除时,udev 的守护进程侦听来自内核的 uevent ,以此添加或者删除?/dev 下的设备文件,所以 udev 只为已经连接的设备产生设备文件,而不会在?/dev 下产生大量虚无的设备文件。
自定义命名规则:通过 Linux 默认的规则文件,udev 在 /dev/ 里为所有的设备定义了内核设备名称,比如?/dev/sda 、/dev/hda 、/dev/fd 等等。由于 udev 是在用户空间 (user space) 运行,Linux 用户可以通过自定义的规则文件,灵活地产生标识性强的设备文件名,比如?/dev/boot_disk 、/dev/root_disk 、/dev/color_printer 等等。
设定设备的权限和所有者 / 组:udev 可以按一定的条件来设置设备文件的权限和设备文件所有者 / 组。在不同的 udev 版本中,实现的方法不同,在“ 如何配置和使用 udev” 中会详解。
?
?
?
udev 的规则和规则文件
规则文件是 udev 里最重要的部分,默认是存放在? /etc/udev/rules.d