udev的简单应用 

 1.       查看是否安装udev  

命令 rpm –qa |grep udev

若没有安装,请安装。

2.       查询对应用的硬件信息。

.1 若安装udevinfo可使用命令,例查sda

[root@localhost ~]# udevinfo -q path -n /dev/sda

/block/sda

[root@localhost ~]# udevinfo -a -p /block/sda   //会显示该卡硬件信息

. 若没有安装udevinfo,安装了udevadm工具,可使用如下命令

udevadm info -a -p /block/sda

3.       通过第二步查找到了盘的固定硬件信息,就可以针对这块盘创建规则。

建立规则路径为/etc/udev/rules.d/文件夹下(尽量建立数字比较大点的文件(1-99),以.rules结尾。

如:/etc/udev/rules.d/99-names.rules

 

为命名设备创建规则。创建文件/etc/udev/rules.d/20-names.rules 在这个文件里,添加命名规则。规则的格式是,参数可以多,只要能唯一标识这个设备。

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="WWID",  SYMLINK+="devicename%n"

 

 

如:我建立个规则文件内部文件内容

SYSFS{size}=="1953525168"BUS=="scsi"SYSFS{model}=="WDC WD10EARS-003"SYSFS{vendor}=="ATA     "DRIVER=="sd"SUBSYSTEM=="block"NAME=”sda%n”

 

注解:以上除了最后一个NAME参数为我定义的外,其它都是为了唯一标识设备使用的。我设置它的名称为sda%n的意思为,无论以后如何重启,该盘都为sda,,若有分区,则显示sda1, sda2…以此类推。

4.       重新启动加载的配置

udevadm control --reload-rules

start_udev

 

实例:目的将sdc 设定成自定义名称。

1.       首先查询到本地磁盘,包括 sda/sdb/sdc/sdd

[root@localhost ~]#ls /dev/sd

sda   sdb   sdc  sdd   sdd1  sdd2  sdd3  sdd4  sdd5

2.       查询sdc盘的信息

[root@localhost ~]#udevadm info -a -p /sys/block/sdc

3.       编辑策略文件

[root@localhost ~]#cd   /etc/udev/rules.d/

[root@localhost ~]#vim  99-sata.rules

内容如下:

 

SUBSYSTEMS=="scsi",DRIVERS=="sd",ATTRS{vendor}=="ATA     ",ATTRS{model}=="ST3500418AS     ",NAME="mydisk"

4.       重新启动配置的加载文件

[root@localhost ~]#udevadm control --reload-rules

[root@localhost ~]#start_udev

5.       重新查询系统所有硬盘

[root@localhost ~]# ls /dev/sd  (从结果中反映sdc已经没有了)

sda   sdb   sdd   sdd1  sdd2  sdd3  sdd4  sdd5

查询变更名称后的硬盘是否存在。

[root@localhost ~]# ls /dev/my*

/dev/mydisk

6.       mydisk即我们的原sdc硬盘,无论以后系统如何重启,或是增加硬盘,盘符都不会变化,我们可以正常格式化,挂载操作。

 [[root@localhost ~]# mkfs.ext3 /dev/mydisk

mke2fs 1.41.12 (17-May-2010)

/dev/mydisk is entire device, not just one partition!

Proceed anyway? (y,n)

你可能感兴趣的:(linux,职场,udev,休闲)