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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: Linux下手动创建新用户下一篇: Linux QQ与Ibus输入法冲突的解决
关于Udev 的使用的所有评论