欢迎来到天天文库
浏览记录
ID:22703644
大小:32.60 KB
页数:13页
时间:2018-10-31
《《udev管理设备》word版》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、@黄懋:使用udev高效、动态地管理Linux设备文件yuanbor2013-02-2016:26概述:Linux用户常常会很难鉴别同一类型的设备名,比如eth0,eth1,sda,sdb等等。通过观察这些设备的内核设备名称,用户通常能知道这些是什么类型的设备,但是不知道哪一个设备是他们想要的。例如,在一个充斥着本地磁盘和光纤磁盘的设备名清单(/dev/sd*)中,用户无法找到一个序列号为“35000c50000a7ef67”的磁盘。在这种情况下,udev就能动态地在 /dev目录里产生自己想要的、标识性强的设备文件或者设备链接,以此帮助用户方便快捷地找到所需的设备文件
2、。udev简介什么是udev?udev是Linux2.6内核里的一个功能,它替代了原来的devfs,成为当前Linux默认的设备管理工具。udev以守护进程的形式运行,通过侦听内核发出来的uevent来管理 /dev目录下的设备文件。不像之前的设备管理工具,udev在用户空间(userspace)运行,而不在内核空间(kernelspace)运行。使用udev的好处:我们都知道,所有的设备在Linux里都是以设备文件的形式存在。在早期的Linux版本中,/dev目录包含了所有可能出现的设备的设备文件。很难想象Linux用户如何在这些大量的设备文件中找到匹配条件的设备文件
3、。现在udev只为那些连接到Linux操作系统的设备产生设备文件。并且udev能通过定义一个udev规则(rule)来产生匹配设备属性的设备文件,这些设备属性可以是内核设备名称、总线路径、厂商名称、型号、序列号或者磁盘大小等等。动态管理:当设备添加/删除时,udev的守护进程侦听来自内核的uevent,以此添加或者删除 /dev下的设备文件,所以udev只为已经连接的设备产生设备文件,而不会在 /dev下产生大量虚无的设备文件。自定义命名规则:通过Linux默认的规则文件,udev在/dev/里为所有的设备定义了内核设备名称,比如 /dev/sda、/dev/hda、/
4、dev/fd等等。由于udev是在用户空间(userspace)运行,Linux用户可以通过自定义的规则文件,灵活地产生标识性强的设备文件名,比如 /dev/boot_disk、/dev/root_disk、/dev/color_printer等等。设定设备的权限和所有者/组:udev可以按一定的条件来设置设备文件的权限和设备文件所有者/组。在不同的udev版本中,实现的方法不同,在“如何配置和使用udev”中会详解。下面的流程图显示udev添加/删除设备文件的过程。图1.udev工作流程图:查看大图 相关术语:设备文件:由于本文以较通俗的方式讲解udev,所以设备文件
5、是泛指在 /dev/下,可被应用程序用来和设备驱动交互的文件。而不会特别地区分设备文件、设备节点或者设备特殊文件。devfs:devfs是Linux早期的设备管理工具,已经被udev取代。sysfs:sysfs是Linux2.6内核里的一个虚拟文件系统 (/sys)。它把设备和驱动的信息从内核的设备模块导出到用户空间(userspace)。从该文件系统中,Linux用户可以获取很多设备的属性。devpath:本文的 devpath是指一个设备在 sysfs文件系统 (/sys)下的相对路径,该路径包含了该设备的属性文件。udev里的多数命令都是针对 devpath操作的
6、。例如:sda的 devpath是 /block/sda,sda2的 devpath是 /block/sda/sda2。内核设备名称:设备在 sysfs里的名称,是udev默认使用的设备文件名。回页首如何配置和使用udev下面会以RHEL4.8和RHEL5.3为平台,分别描述udev的配置和使用:下载和安装udev从Fedora3和RedHatEnterprise4开始,udev就是默认的设备管理工具,无需另外下载安装。清单1.检查udev在RHEL4.8里的版本和运行情况[root@HOST_RHEL4dev]#rpm-qa
7、grep-iudevudev-039-10
8、.29.el4[root@HOST_RHEL4~]#uname-r2.6.9-89.ELsmp[root@HOST_RHEL4~]#ps-ef
9、grepudevroot2182610Dec09?00:00:00udevd清单2.检查udev在RHEL5.3里的版本和运行情况[root@HOST_RHEL5~]#rpm-qa
10、grep-iudevudev-095-14.19.el5[root@HOST_RHEL5sysconfig]#uname-r2.6.18-128.el5[root@HOST_RHEL5sysconfig]#ps-ef
11、
此文档下载收益归作者所有