介绍现代Linux系统的设备管理
recated by ethtool (8). (array of int)parm: rx_copybreak:Copy breakpoint for copy-only-tiny-frames (int)parm: use_dac:Enable PCI DAC. Unsafe on 32 bit PCI slot. (int)parm: debug:Debug verbosity level (0=none, …, 16=all) (int)注意查看从"depends”开始的那些行. 它描述了r8169这个模块所依赖的其他一些模块.因此Udev也会加载这些模块.
规则处理和设备节点创建 如前所述,Udev会为内核中每个设备状态的改变解析/etc/udev/rules.d/ 中的规则.Udev规则可以用于在用户空间操作设备节点的名字/权限/符号链接. 让我们看一些示例规则,有利于帮助你更好地理解Udev规则. 内核通过netlink提供的数据可以被Udev用来创建设备节点.这些数据包括主/次设备号对和另外一些设备相关的数据,比如设备/厂商id,设备序列号等.Udev规则可以匹配所有的这些数据,并且用来改变设备节点的名字,创建符号链接,或者注册网络连接. 下面这个例子展示了怎样书写Udev规则来重命名系统中的一个网络设备. 我们需要得到一些用于创建规则的设备信息. # udevadm info -a -p /sys/class/net/eth0/llooking at device ''/devices/pci0000:00/0000:00:04.0/0000:01:06.0/net/eth0'':KERNEL==”eth0″SUBSYSTEM==”net”DRIVER==”"ATTR{addr_len}==”6″ATTR{dev_id}==”0×0″ATTR{ifalias}==”"ATTR{iflink}==”3″ATTR{ifindex}==”3″ATTR{features}==”0×829″ATTR{type}==”1″ATTR{link_mode}==”0″ATTR{address}==”00:80:48:62:2a:33″ATTR{broadcast}==”ff:ff:ff:ff:ff:ff”ATTR{carrier}==”1″ATTR{dormant}==”0″ATTR{operstate}==”unknown”ATTR{mtu}==”1500″ATTR{flags}==”0×1003″ATTR{tx_queue_len}==”1000″looking at parent device ‘/devices/pci0000:00/0000:00:04.0/0000:01:06.0′:KERNELS==”0000:01:06.0″SUBSYSTEMS==”pci”DRIVERS==”8139too”ATTRS{vendor}==”0×10ec”ATTRS{device}==”0×8139″ATTRS{subsystem_vendor}==”0×10ec”ATTRS{subsystem_device}==”0×8139″ATTRS{class}==”0×020000″ATTRS{irq}==”19″ATTRS{local_cpus}==”ff”ATTRS{local_cpulist}==”0-7″ATTRS{modalias}==”pci:v000010ECd00008139sv000010ECsd00008139bc02sc00i00″ATTRS{enable}==”1″ATTRS{broken_parity_status}==”0″ATTRS{msi_bus}==”"looking at parent device ‘/devices/pci0000:00/0000:00:04.0′:KERNELS==”0000:00:04.0″SUBSYSTEMS==”pci”DRIVERS==”"ATTRS{vendor}==”0×10de”ATTRS{device}==”0×03f3″ATTRS{subsystem_vendor}==”0×0000″ATTRS{subsystem_device}==”0×0000″ATTRS{class}==”0×060401″ATTRS{irq}==”0″ATTRS{local_cpus}==”ff”ATTRS{local_cpulist}==”0-7″ATTRS{modalias}==”pci:v000010DEd000003F3sv00000000sd00000000bc06sc04i01″ATTRS{enable}==”1″ATTRS{broken_parity_status}==”0″ATTRS{msi_bus}==”1″looking at parent device ‘/devices/pci0000:00′:KERNELS==”pci0000:00″SUBSYSTEMS==”"DRIVERS==”"你可以发现Udev拥有大量关于这个网络设备的信息.让我们深入检查一下: KERNEL=="eth0" :- 该设备的内核名字是eth0DRIVERS==”8139too” :- 加载的驱动程序是8139tooATTR{address}==”00:80:48:62:2a:33″ :- 该设备的硬件地址ATTRS{vendor}==”0×10ec” :- 厂商 idATTRS{device}==”0×8139″ :- 设备 id让我们创建一个规则来将这个网络设备重命名为eth1 (这个名字将是永久性的并且重启系统以后也不会复原). >[root@arch ~]# cat /etc/udev/rules.d/70-persistent-net.rulesSUBSYSTEM== |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |