一、查看硬盘分区的UUID:
可以用:
代码如下
sudo blkid
/dev/sda1: UUID=”9ADAAB4DDAAB250B” TYPE=”ntfs”
/dev/sdb1: UUID=”B2FCDCFBFCDCBAB5″ TYPE=”ntfs”
/dev/sdb5: UUID=”46FC5C74FC5C5FEB” TYPE=”ntfs”
/dev/sdb6: TYPE=”swap” UUID=”2cec6109-5bcf-45a3-ba1b-978b041c037f”
/dev/sdb8: UUID=”9ee6f22d-b394-422c-9b4a-1525a3220942″ SEC_TYPE=”ext2″ TYPE=”ext3″
/dev/sdb7: UUID=”4bcb9381-6e25-4304-8743-f882039ff3ad” TYPE=”ext4″
或者:
ls -l /dev/disk/by-uuid (从这里可以看出,UUID其实是对硬盘物理分区的一个软链接)
用UUID来标识硬盘有很多好处,它是一个硬盘的唯一代号,所以当硬盘插口位置变化时,虽然sda可能会变成sdc,但这个码是不会变的。所以在 fstab中用/dev/sda1这样的硬盘标识可能会有混乱,当其中一个硬盘比如sdb挂掉时,sdc会变成sdb,mount到原来sdb的位置。所以还是应该用UUID来写到fstab中。
2、有时候重新格式化一个分区之后,UUID会变化,可以用这个命令刷新UUID。
代码如下:
代码如下
sudo blkid -s none
自己写的一段代码,根据/dev/sda等获取uuid,初学python,也就写成这样了。
代码如下
def get_disk_uuid(disk):
uuid = ''
cmd = 'sudo blkid'
result = yitg_check_cmd_execute(cmd)
if(result[HEAD] !=0 ):
return 0xACD
res = result[BODY]
for i in range(0,len(res)):
item = res[i]
item_divide = item.split(':')
item_zero = (item_divide[0])
if(disk != item_zero):
pass
else:
uuid_item = item_divide[1]
uuid_divide = uuid_item.split('"')
uuid = uuid_divide[1]
return uuid
return uuid
其中一接口代码如下:
def yitg_check_cmd_execute(cmd):
(os_result) = os.popen3(cmd)
res = os_result[1].readlines()
error_res = os_result[2].readlines()
if(error_res):
return send_msg(res, 0xABB)
else:
return send_msg(res, 0)