linux的UDEV

引用:踏雪寻熊的文章

linxu的设备管理器

自2.6内核开始,就可以使用udev协助管理系统中各设备名称,udev能动态地在/dev目录里产生自定义的,标识性强的设备文件或设备连接。

从本质来说,UDEV是一种对定义好的规则的应用,这个规则以文件的形式保存在"/etc/udevrules.d"目录下。规则的定义可以采用多种方式,我们需要做的是确定设备以及说明希望UDEV用它做什么。

udev原理和结构

udev是一种工具,他能够根据系统中硬件设备的状态动态更新设备文件,包括完成对设备文件的创建,删除和刷新。

    udev原理和结构
    当udev从kernel收到设备add/remove事件后,udev将解析:
    /etc/udev/rules.d目录中的用户自定义规则文件只用自定义规则输出(可选的)
    从sys中查询相应信息
    根据解析的信息,udev汇集处理设备命名:
    将确定创建什么设备文件(device file )或符号链接(symlink)
    确定如何设设备文件属性
    确定后续操作

配置udev

    KERNEL==sd* ,PROGRAM=/lib/udev/scsi_id -g -s %p,RESULT==123456,SYMLINK=%k_%c
    
    该规则的的执行是:如果一个内核设备名称以sd开头,且SCSI_ID为123456,则为设备文件产生一个符号链接“sda_123456”

udev中的相关的指令:

1017814-20171023003350021-1258364705.png
1017814-20171023003408084-1056361097.png

"KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i", NAME="asm-disk\(i\", OWNER=\"oracle\", GROUP=\"asmadmin\", MODE=\"0660\"" >> /etc/udev/rules.d/99-oracle-asmdevices.rules 其中这句话的含义是将KERNEL==以sd开头的,BUS是scsi的,PROGRAM接受/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/\$name指令并将结果传递给RESULT, 假如符合上述条件的话,则将该设备命名为 NAME=\"asm-disk\)i",所有者OWNER="oracle", 所属于的组 GROUP="asmadmin", 授予的权限是 GROUP="asmadmin" 并将这些内容写到 /etc/udev/rules.d/99-oracle-asmdevices.rules udev的规则文件中去。

转载于:https://www.cnblogs.com/gxcstyle/p/7706129.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值