zoukankan      html  css  js  c++  java
  • 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中的相关的指令:


    "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的规则文件中去。

  • 相关阅读:
    HDU2027 统计元音 一点点哈希思想
    湖南工业大学第一届ACM竞赛 数字游戏 字符串处理
    湖南工业大学第一届ACM竞赛 我素故我在 DFS
    HDU3293sort
    HDU2082 找单词 母函数
    HDU1018 Big Number 斯特林公式
    湖南工业大学第一届ACM竞赛 分糖果 位操作
    UVA 357 Let Me Count The Ways
    UVA 147 Dollars
    UVA 348 Optimal Array Multiplication Sequence
  • 原文地址:https://www.cnblogs.com/gxcstyle/p/7706129.html
Copyright © 2011-2022 走看看