快速业务通道

Udev 的使用

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-15
我常常见到的一个问题,不知大家有没有常常发现这种问题,就是 Linux 系统中原来有一个 SCSI 的硬盘,系统分配是 /dev/sda ,后来维护又加了一个新的硬盘,接上后,新的硬盘变成了 /dev/sda ,原来的老的硬盘变成了 /dev/sdb .是否有法子固定下来啦?
这个问题在过去一直无解,直到 udev 出来,这个能完美的解决这个问题.
Linux 里都是以设备文件的形式存在.在早期的 Linux 版本中,/dev目录包含了所有可能出现的设备的设备文件.但这样 Linux 用户很难在这些大量的设备文件中找到匹配条件的设备文件.现在 udev 只为那些连接到 Linux 操作系统的设备产生设备文件.并且 udev 能通过定义一个 udev 规则 (rule) 来产生匹配设备属性的设备文件,这些设备属性可以是内核设备名称、总线路径、厂商名称、型号、序列号或者磁盘大小等等.
动态自动管理设备信息:当有设备添加 / 删除时,udev 的守护进程侦听到来自内核的 uevent 的事件,用来添加或者删除 /dev下的设备文件, udev 可以只为已经连接的设备产生设备文件,而不会象 2.4 内核一样在 /dev下产生大量设备文件.另外可以使用这个功能 ,当有设备加入时运行外部的程序,比如鼠标加入时自动禁用触摸板之类
使用自定义命名和管理设备:使用 Udev 规则文件,udev 在 /dev/ 里为所有的设备定义了内核设备名称,比如 /dev /sda、/dev/hda、/dev/fd等等. udev 是在用户空间 (user space) 运行,Linux 用户可以接下来对这些信息进行操作,比如可以通过自定义的规则文件,生成人性的设备标识,比如 /dev/my_disk、/dev/nameusb 等,还能对设置进行参数成员用户组权限之类的修改.
开始之类需要了解
? sysfs:sysfs是 Linux 2.6 内核里的一个虚拟文件系统 (/sys).它把设备和驱动的信息从内核的设备模块导出到用户空间 (userspace).从该文件系统中,Linux 用户可以获取很多设备的属性.
? devpath:本文的 devpath是指一个设备在 sysfs文件系统 (/sys)下的相对路径,该路径包含了该设备的属性文件.udev 里的多数命令都是针对 devpath操作的.例如:sda的 devpath是 /block/sda,sda2 的 devpath是 /block/sda/sda2.
? 内核设备名称:设备在 sysfs里的名称,是 udev 默认使用的设备文件名. 拥有帝国一切,皆有可能。欢迎访问phome.net
udev 主配置文件
主要的udev 主配置文件是 /etc/udev/udev.conf.这个文件通常很短,他可能只是包含几行#开头的注释,然后有几行选项:
udev_root="/dev/" # 设置的绝对路径,相当于创建 chroot 的根.
udev_rules="/etc/udev/rules.d/" #规则的存放地址
udev_log="err" # 日志的输入级别
udev 的规则配置文件实例
默认的规则配置文件存放在 /etc/udev/rules.d/ 中,我们进入这个可以看到 RedHat 默认对设备建好的一些规则和一些硬件公司写好的规则.
进入目录,可以见到以二位数字开头的前缀的配置文件,可以使用 vi 进入配置文件中查看,一行是一条规则,默认是从小数字到大数字,这些表示生效的顺序.
我们在使用 udev 写规则前,先来看一个例子
KERNEL=="sd*", PROGRAM="/lib/udev/scsi_id -g -s %p", RESULT=="123456", SYMLINK="%k_%c"
该规则的执行:如果有一个内核设备名称以 sd 开头,且 SCSI ID 为 123456,则为设备文件产生一个符号链接“sda_123456”. %p %k %c 请看后面的“udev 的值和可调用的替换操作符 ”
udev 的规则配置文件
在规则文件里,除了以“#”开头的行(注释),所有的非空行都被视为一条规则,但是一条规则不能扩展到多行.规则都是由多个 键值对(key-value pairs)组成,并由逗号隔开,键值对可以分为 条件匹配键值对( 以下简称“匹配键 ”) 和 赋值键值对( 以下简称“赋值键 ”),一条规

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号