两种方法来手动的创建设备文件:
1.mknod
mknod :创建设备文件的基本方式,必须知道该设备的正确设备号才可以。
NAME
mknod - make block or character special files
mknod [OPTION]... NAME TYPE [MAJOR MINOR]
Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they must be omitted when TYPE is p
b create a block (buffered) special file
1770 2014-05-06 14:40:41 mknod /dev/dm-24 b 253 24
1772 2014-05-06 14:40:54 mknod /dev/dm-27 b 253 27
ls -rtl /dev/oracleasm/disks/
total 0
brw-rw---- 1 grid asmadmin 253, 24 May 6 14:42 ASM_OLDB1
brw-rw---- 1 grid asmadmin 253, 27 May 6 14:43 ASM_FAST1
2.MAKEDEV
MAKEDEV is a program that will create the devices in /dev used to interface with drivers in the kernel.
是一个记录很多设备的名字与其设备号之间的关系的程序,因此它能使用正确的设备号来创建设备。
首先进去/dev目录,然后再执行makedev /dev/sdb5
很多应用程序都会从/dev下查找所需的设备文件。
oracleasm 从/dev下查找所需的块设备文件信息。
ls -rtl
total 0
brw-rw---- 1 grid asmadmin 253, 24 May 6 14:42 ASM_OLDB1
brw-rw---- 1 grid asmadmin 253, 27 May 6 14:43 ASM_FAST1
blkid |grep oracle
/dev/mapper/data_vg-db_lv: LABEL="ASM_OLDB1" TYPE="oracleasm"
/dev/mapper/data_vg-db_u03_lv: LABEL="ASM_FAST1" TYPE="oracleasm"
/dev/mapper/data_vg-oracle_lv: UUID="786dcbdb-fae1-42a6-b107-04e82f82712c" TYPE="ext3" SEC_TYPE="ext2"
/dev/data_vg/db_lv: LABEL="ASM_OLDB1" TYPE="oracleasm"
/dev/data_vg/db_u03_lv: LABEL="ASM_FAST1" TYPE="oracleasm"
使用udev的好处:
1.动态管理
添加/删除设备时候,udev守护进程侦听来自内核的uevent ,以此动态的添加/删除 /dev下的设备文件
2.自定义命名规则
udev在/dev里为所有设备定义了内核设备名称。比如/dev/sda ,/dev/sdb1
linux 用户可以通过子定义规则文件,灵活产生标识性强的设备文件,比如/dev/oracle_disk