linux创建有序的目录,linuxÖÐudev¿ØÖÆ´ÅÅÌÒýµ¼Ë³ÐòÅäÖÃ

linuxÖÐudev¿ØÖÆ´ÅÅÌÒýµ¼Ë³ÐòÅäÖÃ

2019/10/10/17:45:48  ÔĶÁ£º1598  À´Ô´£º¹È¸èSEOËã·¨  ±êÇ©£º

SEO½Ì³Ì

´ÅÅÌÒýµ¼¶ÔÓÚÎÒÃÇʹÓÃwindowsµÄÅóÓÑÀ´½²ÊǷdz£µÄ¼òµ¥ÁË,µ«ÔÚlinuxÖÐÓÐЩ¸´ÔÓÁË,ÏÂÎÄС±à¾ÍΪ¸÷λ½éÉÜudev¿ØÖÆ´ÅÅÌÒýµ¼Ë³ÐòÅäÖÃ.

vmware EXSi ÐéÄ⻯×éµÄÐÖµÜÔÚ¶Ôһ̨ÐéÄâ»úÖ÷ÐÂÔöÁËN¿é´ÅÅ̺ó,ÖØÆôºó·¢ÏÖÖ÷»úÒýµ¼ºó·ÖÇøµÄ˳Ðò·¢ÉúÁ˱仯,µ¼Ö¸÷¸ö¹ÒÔصãϹÒÔصÄÎļþºÍ֮ǰ²»Ò»ÖÂÁË,µ±Ê±¸ø³öµÄ½â¾ö·½·¨ÊÇÔÚ/etc/fstabÎļþÖÐʹÓÃuuid,ÒòΪUUID²»»á±ä»¯.

Ò»¡¢uuid Óë¹ÒÔصã

1¡¢Ê¹ÓÃblkidÃüÁî»ñÈ¡UUID,´úÂëÈçÏÂ:[root@361way~]#blkid

/dev/sda1:SEC_TYPE="msdos"UUID="F159-EA55"TYPE="vfat"PARTLABEL="EFISystemPartition"PARTUUID="ed7d2e13-8197-4226-8fdc-47d4aa64aebb"

/dev/sda2:LABEL="boot"UUID="f7755604-99f2-4d94-ab1a-47b14def7e26"TYPE="xfs"PARTUUID="627c028f-bf10-4705-b465-d5118d8ee67d"

/dev/sda3:UUID="Bs0vJv-cena-E9eO-2WcM-iJNQ-26Mr-fGG1pr"TYPE="LVM2_member"PARTUUID="18c50ff9-0e0d-40ac-8e2a-4f7f768347ed"

/dev/mapper/cl-root:UUID="b2f57437-ba99-4a2d-9c82-a41037aa0e38"TYPE="xfs"

/dev/mapper/cl-swap:UUID="2930b30d-3039-442d-a210-da1d7775652e"TYPE="swap"

/dev/mapper/cl-data:LABEL="data"UUID="cfc65b4e-0ca4-4b48-934e-5f668a4fb3b5"TYPE="xfs"

2¡¢²é¿´/devĿ¼»ñÈ¡UUID,´úÂëÈçÏÂ:[root@361way~]#ll/dev/disk/by-uuid/

×ÜÓÃÁ¿0

lrwxrwxrwx1rootroot1011ÔÂ2519:562930b30d-3039-442d-a210-da1d7775652e->../../dm-1

lrwxrwxrwx1rootroot1011ÔÂ2519:56b2f57437-ba99-4a2d-9c82-a41037aa0e38->../../dm-0

lrwxrwxrwx1rootroot1011ÔÂ2519:56cfc65b4e-0ca4-4b48-934e-5f668a4fb3b5->../../dm-2

lrwxrwxrwx1rootroot1011ÔÂ2519:56F159-EA55->../../sda1

lrwxrwxrwx1rootroot1011ÔÂ2519:56f7755604-99f2-4d94-ab1a-47b14def7e26->../../sda2

3¡¢ÐÞ¸Ä/etc/fstabÎļþ,ʹÓÃuuid,´úÂëÈçÏÂ:[root@361way~]#cat/etc/fstab

#

#/etc/fstab

#CreatedbyanacondaonMonSep816:38:292014

#

#Accessiblefilesystems,byreference,aremaintainedunder'/dev/disk'

#Seemanpagesfstab(5),findfs(8),mount(8)and/orblkid(8)formoreinfo

#

/dev/mapper/cl-root/xfsdefaults11

UUID=f7755604-99f2-4d94-ab1a-47b14def7e26/bootxfsdefaults12//phpfensi.com

UUID=F159-EA55/boot/efivfatumask=0077,shortname=winnt00

/dev/mapper/cl-data/dataxfsdefaults,noatime,nobarrier12

/dev/mapper/cl-swapswapswapdefaults00

°´ÉÏÃæµÄ·½·¨Ð޸ĺó,ÖØÆôÖ÷»ú,·¢ÏÖËùÓеĹÒÔص㶼Õý³£ÁË.

¶þ¡¢Ê¹ÓÃudevµ÷Õû´ÅÅÌ˳Ðò

Ò»ÌìÊý¾Ý¿â²àµÄÐÖµÜÓÖÎÊÆðsdb¡¢sdc¡¢sde¶à¸ö´ÅÅÌÃûÔö¼Óºó»áÂÒµÄÎÊÌâ,ºóÀ´ÔÚ×Ô¼ºµÄÐéÄâ»úÉÏÓÖ³¢ÊÔʹÓÃudev½â¾ö¸ÃÎÊÌâ,²Î¿¼snipplrÍøÕ¾,´úÂëÈçÏÂ:(makesurebothdevicesareunmounted)

#cat/proc/partitions

#cd/dev

#rmsda,sdb

#mknod/dev/sdab#fillwithmajorandminordevicesobtainedfrom/proc/partitionsforsdb

#mknod/dev/sdbb80#verifythesemajor,minorvaluesforsdain/proc/partitions

#partprobe/dev/sda

#hdparm-z/dev/sda

#sfdisk-R/dev/sda

#blockdev--rereadpt/dev/sda

(repeatthelast4commandsforsdb)

Alternativelyandtomakeitpermanent:

createthefile/etc/udev/rules.d/10-local.ruleswiththefollowingcontent:

KERNEL=="sda",NAME="sdb"

KERNEL=="sdb",NAME="sda"

(endoffile)

andthen:

#serviceudevrestart

#udevadmcontrol--reload-rules

#udevadmtrigger

1¡¢²é¿´±¾»úµÄ´ÅÅÌ,´úÂëÈçÏÂ:[root@localhostrules.d]#fdisk-l

Disk/dev/vda:21.5GB,21474836480bytes

16heads,63sectors/track,41610cylinders

Units=cylindersof1008*512=516096bytes

Sectorsize(logical/physical):512bytes/512bytes

I/Osize(minimum/optimal):512bytes/512bytes

Diskidentifier:0x0001bcdb

DeviceBootStartEndBlocksIdSystem

/dev/vda1*3101851200083Linux

Partition1doesnotendoncylinderboundary.

/dev/vda2101841611204584968eLinuxLVM

Partition2doesnotendoncylinderboundary.

Disk/dev/vdb:1073MB,1073741824bytes

16heads,63sectors/track,2080cylinders

Units=cylindersof1008*512=516096bytes

Sectorsize(logical/physical):512bytes/512bytes

I/Osize(minimum/optimal):512bytes/512bytes

Diskidentifier:0x00000000

Disk/dev/vdc:2147MB,2147483648bytes

16heads,63sectors/track,4161cylinders

Units=cylindersof1008*512=516096bytes

Sectorsize(logical/physical):512bytes/512bytes

I/Osize(minimum/optimal):512bytes/512bytes

Diskidentifier:0x00000000

¿ÉÒÔ¿´µ½Ò»¸ö´óСΪ1GµÄvdb´ÅÅ̺ÍÒ»¸ö´óСΪ2GµÄvdc´ÅÅÌ.

2¡¢´´½¨ruleÎļþ,ÔÚ/etc/udev/rules.d/´´½¨Ò»¸öruleÎļþ,¾ßÌåÄÚÈÝÈçÏÂ:#cat10-local.rules

KERNEL=="vdb",NAME="vdc"

KERNEL=="vdc",NAME="vdb"

3¡¢Ê¹ÓÃudevadmÃüÁîÖØÔØruleÎļþ,´úÂëÈçÏÂ:#udevadmcontrol--reload-rules

#udevadmtrigger

4¡¢Ôٲ鿴±¾µØ´ÅÅÌ,´úÂëÈçÏÂ:[root@localhost~]#fdisk-l

Disk/dev/vda:21.5GB,21474836480bytes

16heads,63sectors/track,41610cylinders

Units=cylindersof1008*512=516096bytes

Sectorsize(logical/physical):512bytes/512bytes

I/Osize(minimum/optimal):512bytes/512bytes

Diskidentifier:0x0001bcdb

DeviceBootStartEndBlocksIdSystem

/dev/vda1*3101851200083Linux

Partition1doesnotendoncylinderboundary.

/dev/vda2101841611204584968eLinuxLVM

Partition2doesnotendoncylinderboundary.

Disk/dev/vdb:2147MB,2147483648bytes

16heads,63sectors/track,4161cylinders

Units=cylindersof1008*512=516096bytes

Sectorsize(logical/physical):512bytes/512bytes

I/Osize(minimum/optimal):512bytes/512bytes

Diskidentifier:0x00000000

Disk/dev/vdc:1073MB,1073741824bytes

16heads,63sectors/track,2080cylinders

Units=cylindersof1008*512=516096bytes

Sectorsize(logical/physical):512bytes/512bytes

I/Osize(minimum/optimal):512bytes/512bytes

Diskidentifier:0x00000000

Ôٲ鿴·¢ÏÖvdb±ä³ÉÁË2G,vdc±ä³ÉÁË1G´óС.

Èý¡¢udev¹æÔòÏà¹Ø

1¡¢udev¹æÔò²Ù×÷·û

“==”:±È½Ï¼ü¡¢Öµ,ÈôµÈÓÚ,Ôò¸ÃÌõ¼þÂú×ã.

“!=”:±È½Ï¼ü¡¢Öµ,Èô²»µÈÓÚ,Ôò¸ÃÌõ¼þÂú×ã.

“=”:¶ÔÒ»¸ö¼ü¸³Öµ.

“+=”:Ϊһ¸ö±íʾ¶à¸öÌõÄ¿µÄ¼ü¸³Öµ.

“:=”:¶ÔÒ»¸ö¼ü¸³Öµ,²¢¾Ü¾øÖ®ºóËùÓжԸüüµÄ¸Ä¶¯,Ä¿µÄÊÇ·ÀÖ¹ºóÃæµÄ¹æÔòÎļþ¶Ô¸Ã¼ü¸³Öµ.

2¡¢udev¹æÔòµÄÆ¥Åä¼ü

ACTION:ʼþ(uevent)µÄÐÐΪ,ÀýÈç:add(Ìí¼ÓÉ豸)¡¢remove(ɾ³ýÉ豸).

KERNEL:ÄÚºËÉ豸Ãû³Æ,ÀýÈç:sda,cdrom.

DEVPATH:É豸µÄ devpath ·¾¶.

SUBSYSTEM:É豸µÄ×ÓϵͳÃû³Æ,ÀýÈç:sda µÄ×ÓϵͳΪ block.

BUS:É豸ÔÚ devpath ÀïµÄ×ÜÏßÃû³Æ,ÀýÈç:usb.

DRIVER:É豸ÔÚ devpath ÀïµÄÉ豸Çý¶¯Ãû³Æ,ÀýÈç:ide-cdrom¡£

ID:É豸ÔÚ devpath ÀïµÄʶ±ðºÅ¡£

SYSFS{filename}:É豸µÄ devpath ·¾¶Ï£¬É豸µÄÊôÐÔÎļþ“filename”ÀïµÄÄÚÈÝ.

ENV{key}:»·¾³±äÁ¿,ÔÚÒ»Ìõ¹æÔòÖÐ,¿ÉÒÔÉ趨×î¶àÎåÌõ»·¾³±äÁ¿µÄ Æ¥Åä¼ü.

PROGRAM:µ÷ÓÃÍⲿÃüÁî.

RESULT:ÍⲿÃüÁî PROGRAM µÄ·µ»Ø½á¹û.

3¡¢udevÖØÒªµÄ¸³Öµ¼ü

NAME:ÔÚ /devϲúÉúµÄÉ豸ÎļþÃû¡£Ö»ÓеÚÒ»´Î¶Ôij¸öÉ豸µÄ NAME µÄ¸³ÖµÐÐΪÉúЧ£¬Ö®ºóÆ¥ÅäµÄ¹æÔòÔÙ¶Ô¸ÃÉ豸µÄ NAME ¸³ÖµÐÐΪ½«±»ºöÂÔ¡£Èç¹ûûÓÐÈκιæÔò¶ÔÉ豸µÄ NAME ¸³Öµ£¬udev ½«Ê¹ÓÃÄÚºËÉ豸Ãû³ÆÀ´²úÉúÉ豸Îļþ¡£

SYMLINK:Ϊ /dev/ϵÄÉ豸Îļþ²úÉú·ûºÅÁ´½Ó,ÓÉÓÚ udev Ö»ÄÜΪij¸öÉ豸²úÉúÒ»¸öÉ豸Îļþ,ËùÒÔΪÁ˲»¸²¸ÇϵͳĬÈ쵀 udev ¹æÔòËù²úÉúµÄÎļþ,ÍƼöʹÓ÷ûºÅÁ´½Ó.

OWNER,GROUP,MODE:ΪÉ豸É趨ȨÏÞ.

ENV{key}:µ¼ÈëÒ»¸ö»·¾³±äÁ¿

4¡¢udev µÄÖµºÍ¿Éµ÷ÓõÄÌæ»»²Ù×÷·û.

$kernel,%k:É豸µÄÄÚºËÉ豸Ãû³Æ,ÀýÈ磺sda¡¢cdrom.

$number,%n:É豸µÄÄں˺ÅÂë,ÀýÈ磺sda3 µÄÄں˺ÅÂëÊÇ 3.

$devpath,%p:É豸µÄ devpath·¾¶.

$id,%b:É豸ÔÚ devpathÀïµÄ ID ºÅ.

$sysfs{file},%s{file}:É豸µÄ sysfsÀï file µÄÄÚÈÝ,Æäʵ¾ÍÊÇÉ豸µÄÊôÐÔÖµ.

ÀýÈç:$sysfs{size} ±íʾ¸ÃÉ豸(´ÅÅÌ)µÄ´óС.$env{key},%E{key}£ºÒ»¸ö»·¾³±äÁ¿µÄÖµ¡£

$major,%M£ºÉ豸µÄmajorºÅ¡£

$minor%m£ºÉ豸µÄminorºÅ¡£

$result,%c£ºPROGRAM·µ»ØµÄ½á¹û¡£

$parent,%P£º¸¸É豸µÄÉ豸ÎļþÃû¡£

$root,%r£ºudev_rootµÄÖµ£¬Ä¬ÈÏÊÇ/dev/¡£

$tempnode,%N£ºÁÙʱÉ豸Ãû¡£

%%£º·ûºÅ%±¾Éí¡£

$$£º·ûºÅ$±¾Éí¡£

ËÄ¡¢udevadmÓërule

ͨ¹ýudevadm²é¿´´ÅÅÌ»ò·ÖÇøÐÅÏ¢,´úÂëÈçÏÂ:[root@localhostrules.d]#udevadminfo-a-p/sys/block/vdb

Udevadminfostartswiththedevicespecifiedbythedevpathandthen

walksupthechainofparentdevices.Itprintsforeverydevice

found,allpossibleattributesintheudevruleskeyformat.

Aruletomatch,canbecomposedbytheattributesofthedevice

andtheattributesfromonesingleparentdevice.

lookingatdevice'/devices/pci0000:00/0000:00:06.0/virtio3/block/vdb':

KERNEL=="vdb"

SUBSYSTEM=="block"

DRIVER==""

ATTR{range}=="16"

ATTR{ext_range}=="16"

ATTR{removable}=="0"

ATTR{ro}=="0"

ATTR{size}=="2097152"

ATTR{alignment_offset}=="0"

ATTR{discard_alignment}=="0"

ATTR{capability}=="10"

ATTR{stat}=="27613231280000088"

ATTR{inflight}=="00"

ATTR{serial}==""

lookingatparentdevice'/devices/pci0000:00/0000:00:06.0/virtio3':

KERNELS=="virtio3"

SUBSYSTEMS=="virtio"

DRIVERS=="virtio_blk"

ATTRS{device}=="2"

ATTRS{vendor}=="6900"

ATTRS{status}=="0x00000007"

ATTRS{modalias}=="virtio:d00000002v00001AF4"

ATTRS{features}=="0010101101100000000000000000110000000000000000000000000000000000"

lookingatparentdevice'/devices/pci0000:00/0000:00:06.0':

KERNELS=="0000:00:06.0"

SUBSYSTEMS=="pci"

DRIVERS=="virtio-pci"

ATTRS{vendor}=="0x1af4"

ATTRS{device}=="0x1001"

ATTRS{subsystem_vendor}=="0x1af4"

ATTRS{subsystem_device}=="0x0002"

ATTRS{class}=="0x010000"

ATTRS{irq}=="11"

ATTRS{local_cpus}=="1"

ATTRS{local_cpulist}=="0"

ATTRS{modalias}=="pci:v00001AF4d00001001sv00001AF4sd00000002bc01sc00i00"

ATTRS{numa_node}=="-1"

ATTRS{enable}=="1"

ATTRS{broken_parity_status}=="0"

ATTRS{msi_bus}==""

lookingatparentdevice'/devices/pci0000:00':

KERNELS=="pci0000:00"

SUBSYSTEMS==""

DRIVERS==""

ÈçÓжà¿é´ÅÅÌ,ÆäÖÐÓÖÓдóСÏàͬµÄ,¿ÉÒÔͨ¹ýÆäËûÌõ¼þ½øÐÐÇø·Ö,ÈçrulesÀï¿ÉÒÔÕâÑùд:SUBSYSTEM=="block",ATTR{size}=="234441648",NAME="my_hard_disk"

SUBSYSTEM=="block",SUBSYSTEMS=="scsi",ATTRS{model}=="ST3120827AS",NAME="my_hard_disk"

KERNEL=="sda1"ATTR{size}=="2096753"NAME="asm_ocr"

×¢:һЩÀÏ°æ±¾µÄudevÀï°üÀïûÓÐudevadm,ʹÓõÄÊÇudevinfoÃüÁî.

Îå¡¢uedvÓëasm ´ÅÅÌrule

1¡¢scsi_id »ñÈ¡´ÅÅÌUUID,´úÂëÈçÏÂ:[root@localhost~]#/sbin/scsi_id-g-u/dev/sdb

3690b11c0002be80e00000ce3514380db

[root@localhost~]#/sbin/scsi_id-g-u/dev/sdc

3690b11c0002be80e00000ce5514380f8

[root@localhost~]#/sbin/scsi_id-g-u/dev/sdd

3690b11c0002be80e00000ce75143810c

//phpfensi.com

а汾ÖеÄscsi_idÃüÁîλÓÚ/usr/lib/udev/scsi_id.

2¡¢asm rule¹æÔò,´úÂëÈçÏÂ:#cat/etc/udev/rules.d/99-Oracle-asmdevices.rules

KERNEL=="sd?1",BUS="scsi",PROGRAM=="/sbin/scsi_id-g-u-d/dev/$parent",

RESULT=="3690b11c0002be80e00000ce3514380db",

NAME="asm-crs01",OWNER="grid",GROUP="asmadmin",MODE="0660"

KERNEL=="sd?1",BUS="scsi",PROGRAM=="/sbin/scsi_id-g-u-d/dev/$parent",

RESULT=="3690b11c0002be80e00000ce5514380f8",

NAME="asm-data01",OWNER="grid",GROUP="asmadmin",MODE="0660"

KERNEL=="sd?1",BUS="scsi",PROGRAM=="/sbin/scsi_id-g-u-d/dev/$parent",

RESULT=="3690b11c0002be80e00000ce75143810c",

NAME="asm-data02",OWNER="grid",GROUP="asmadmin",MODE="0660"

3¡¢ÖØÆôudev·þÎñ,´úÂëÈçÏÂ:[root@localhostrules.d]#/sbin/partprobe/dev/sdb1

[root@localhostrules.d]#/sbin/partprobe/dev/sdc1

[root@localhostrules.d]#/sbin/partprobe/dev/sdd1

[root@localhostrules.d]#/sbin/start_udev

4¡¢²é¿´asmÉ豸,´úÂëÈçÏÂ:[root@localhostrules.d]#ll/dev/asm*

brw-rw----.1rootroot8,173ÔÂ2711:30/dev/asm-crs01

brw-rw----.1rootroot8,333ÔÂ2711:30/dev/asm-data01

brw-rw----.1rootroot8,493ÔÂ2711:30/dev/asm-data02

ÔÚcentos7/redhat7 °æ±¾ÖеÄudevÒѲ»ÔÙµ¥¶ÀÊÇÒ»¸ö°ü,¶øÊÇÔÚsystemd°üÖаüº¬ÁËudev¹¤¾ß,rule¹æÔò³ýÁË/etc/udev/rules.dĿ¼,»¹ÓÐ/usr/lib/udev/rules.d/ Ŀ¼.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值