linux udev的配置是什么

2023-04-11 04:25:00 linux 配置 udev
Linux udev的配置是一个很复杂的主题,这里我们只讨论一下最基本的配置。 首先,需要在/etc/udev/rules.d/目录下创建一个文件,命名规则是: <数字>-<规则名称>.rules 例如: 10-myrules.rules 这个文件的内容是一个或多个规则,每个规则都包括一个或多个属性,属性用等号分隔。 规则的格式如下: <规则名称>:<属性1>=<值1>,<属性2>=<值2>,... 例如: KERNEL=="sda", ACTION=="add", ATTR{bios_grub}="1" KERNEL=="sda", ACTION=="add", ATTR{bios_grub}="0" 上面的规则名称分别是"KERNEL=="sda", ACTION=="add", ATTR{bios_grub}"和"KERNEL=="sda", ACTION=="add", ATTR{bios_grub}", 属性分别是"bios_grub"和"bios_grub", 值分别是"1"和"0"。 规则的作用是当内核发现一个新的设备(例如一个硬盘)时,会按照规则的顺序执行。 在这个例子中,如果内核发现一个新的硬盘设备,它会检查硬盘的"bios_grub"属性,如果属性值为"1",则会启动grub,如果属性值为"0",则不会启动grub。 规则的执行顺序是按照规则名称的数字顺序来执行的,数字越小的规则越先执行。 在这个例子中,如果我们将规则名称改为"11-myrules.rules",则规则将会比"10-myrules.rules"先执行。 需要注意的是,规则文件中可以包含空行和注释行,注释行以"#"开头。 例如: # This is a comment 规则文件也可以包含一些预定义的规则,这些规则可以用来简化规则的书写。 例如: %s/<规则名称>/<新规则名称>/ %A+="<属性>=<值>" %A-="<属性>" %p+="<属性>" %p-="<属性>" 上面的规则会将所有匹配"<规则名称>"的规则都替换为"<新规则名称>","%A+"会在所有匹配的规则中添加一个新的属性"<属性>=<值>","%A-"会在所有匹配的规则中删除属性"<属性>","%p+"会在所有匹配的规则中添加一个新的属性"<属性>","%p-"会在所有匹配的规则中删除属性"<属性>"。 例如: # This will replace all rules with name "sda" with name "sdb" %s/sda/sdb/ # This will add a new property "bios_grub" with value "1" to all rules %A+="bios_grub=1" # This will delete property "bios_grub" from all rules %A-="bios_grub" # This will add a new property "bios_grub" with value "1" to all rules that have property "bios_grub" %p+="bios_grub=1" # This will delete property "bios_grub" from all rules that have property "bios_grub" %p-="bios_grub"

相关文章