使用 udev 高效、动态地管理 Linux 设备文件

本文以通俗的方法阐述 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/ 下。所有的规则文件必须以 .rules 为后缀名。RHEL 有默认的规则文件,这些默认规则文件不仅为设备产生内核设备名称,还会产生标识性强的符号链接。

 

start_udev

start_dev 命令重启 udev 守护进程,并对所有的设备重新查询规则目录下所有的规则文件,然后执行所匹配的规则里的行为。通常使用该命令让新的规则文件立即生效:

清单 15. start_udev 的执行过程

                                  

  [root@HOST_RHEL5 rules.d]# start_udev

  Starting udev:                                             [  OK  ]

start_udev 一般没有标准输出,所有的 udev 相关信息都按照配置文件 (udev.conf) 的参数设置,由 syslog 记录。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值