服务器之家:专注于服务器技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|系统进程|Fedora|注册表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服务器之家 - 服务器系统 - Linux - 详解Linux中获取全球唯一标示符UUID的方法

详解Linux中获取全球唯一标示符UUID的方法

2019-06-20 11:19OSChina乐晨 Linux

这篇文章主要介绍了Linux中获取全球唯一标示符UUID的方法,UUID经常被用于分布式系统中,需要的朋友可以参考下

UUID(Universally Unique IDentifiers),全球唯一标示符.它是一个标识系统中的存储设备的字符串,使其确定系统中的所有存储设备。

为什么要使用UUID?因为系统自动分配的设备名称并非总是一致的,它们依赖于启动时内核加载模块的顺序.相同的名称可能代表不同的硬盘分区.如果每个分区有一个唯一的UUID值,尤其是在grub中的kernel设置,这样就不会发生分区识别混乱的问题.

下面介绍几种方法来获得UUID.

1.最简单的方法就是使用blkid命令,它主要用来对系统的块设备(包括交换分区)所使用的文件系统类型,LABEL,UUID等信息查询. 使用这个命令需要安装e2fsprogs包.
 

复制代码

代码如下:


root@10.1.1.200:~# dpkg -l | grep e2fsprogs
ii e2fsprogs 1.41.3-1 ext2/ext3/ext4 file system utilities
ii libuuid-perl 0.02-4 Perl extension for using UUID interfaces as defined in e2fsprogs
root@10.1.1.200:~# blkid 
/dev/sda1: UUID="b20e80f1-c88d-4918-9d9b-75cd7906629e" TYPE="ext3"
/dev/sda5: TYPE="swap" UUID="1fb3d17b-b2fe-470d-b39c-f00c4a30efbf"
/dev/sda6: UUID="c7050200-7efb-468c-81d1-a3add309bee1" TYPE="ext3" SEC_TYPE="ext2"
/dev/sda7: UUID="934e4e22-3431-4707-8d47-dca47e76f448" TYPE="xfs"
/dev/hioa: UUID="de0af117-ad92-4867-aa21-3e7d423e8864" TYPE="xfs"
root@10.1.1.200:~# blkid /dev/sda1
/dev/sda1: UUID="b20e80f1-c88d-4918-9d9b-75cd7906629e" TYPE="ext3"
root@10.1.1.200:~# cat /etc/blkid.tab
<device DEVNO="0x0801" TIME="1364787338" UUID="b20e80f1-c88d-4918-9d9b-75cd7906629e" TYPE="ext3">/dev/sda1</device>
<device DEVNO="0x0805" TIME="1364787338" TYPE="swap" UUID="1fb3d17b-b2fe-470d-b39c-f00c4a30efbf">/dev/sda5</device>
<device DEVNO="0x0806" TIME="1364787338" UUID="c7050200-7efb-468c-81d1-a3add309bee1" TYPE="ext3" SEC_TYPE="ext2">/dev/sda6</device>
<device DEVNO="0x0807" TIME="1364787338" UUID="934e4e22-3431-4707-8d47-dca47e76f448" TYPE="xfs">/dev/sda7</device>
<device DEVNO="0xfd00" TIME="1364787338" UUID="de0af117-ad92-4867-aa21-3e7d423e8864" TYPE="xfs">/dev/hioa</device>


2.通过浏览/dev/disk/by-uuid/下的设备文件信息.

复制代码

代码如下:


root@10.1.1.200:~# ls -l /dev/disk/by-uuid/
total 0
lrwxrwxrwx 1 root root 10 2013-03-19 11:01 1fb3d17b-b2fe-470d-b39c-f00c4a30efbf -> ../../sda5
lrwxrwxrwx 1 root root 10 2013-03-19 11:01 934e4e22-3431-4707-8d47-dca47e76f448 -> ../../sda7
lrwxrwxrwx 1 root root 10 2013-03-19 11:01 b20e80f1-c88d-4918-9d9b-75cd7906629e -> ../../sda1
lrwxrwxrwx 1 root root 10 2013-03-19 11:01 c7050200-7efb-468c-81d1-a3add309bee1 -> ../../sda6
lrwxrwxrwx 1 root root 10 2013-03-19 11:02 de0af117-ad92-4867-aa21-3e7d423e8864 -> ../../hioa
root@10.1.1.200:~# ls -l /dev/disk/by-uuid/ | grep sda1 | awk '{print $8}'
b20e80f1-c88d-4918-9d9b-75cd7906629e


3.通过vol_id命令查看

复制代码

代码如下:


root@10.1.1.200:~# vol_id /dev/sda1
ID_FS_USAGE=filesystem
ID_FS_TYPE=ext3
ID_FS_VERSION=1.0
ID_FS_UUID=b20e80f1-c88d-4918-9d9b-75cd7906629e
ID_FS_UUID_ENC=b20e80f1-c88d-4918-9d9b-75cd7906629e
ID_FS_LABEL=
ID_FS_LABEL_ENC=
ID_FS_LABEL_SAFE=
root@10.1.1.200:~# vol_id /dev/sda1 | grep 'UUID'
ID_FS_UUID=b20e80f1-c88d-4918-9d9b-75cd7906629e
ID_FS_UUID_ENC=b20e80f1-c88d-4918-9d9b-75cd7906629e、


4.使用tune2fs,,它是linux下文件系统调整工具

复制代码

代码如下:


root@10.1.1.200:~# tune2fs -l /dev/sda1
tune2fs 1.41.3 (12-Oct-2008)
Filesystem volume name: <none>
Last mounted on: <not available>
Filesystem UUID: b20e80f1-c88d-4918-9d9b-75cd7906629e
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_super large_file
Filesystem flags: signed_directory_hash 
Default mount options: (none)
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 1864128
Block count: 7442103
Reserved block count: 372105
Free blocks: 6884819
Free inodes: 1712582
First block: 0
root@10.1.1.200:~# tune2fs -l /dev/sda1 | grep 'UUID'
Filesystem UUID: b20e80f1-c88d-4918-9d9b-75cd7906629e


这里额外在看下tune2fs一些常用参数:

复制代码

代码如下:


root@192.168.2.80:~# tune2fs --help
tune2fs 1.41.3 (12-Oct-2008)
tune2fs: invalid option -- '-'
Usage: tune2fs [-e errors_behavior] [-g group]


[-i interval[d|m|w]] 文件系统的检查间隔时间,系统在达到时间间隔,自动检查文件系统.
[-j] [-J journal_options] 转换文件系统
[-l] 显示文件系统参数
[-m reserved_blocks_percent] 设置保留的空间百分比
[-o [^]mount_options[,...]] 设置默认加载参数.
[-c max_mounts_count] 表示文件系统在mount次数达到设定后,需要运行fsck检查文件系统。
  
通常如果使用ext3文件系统的话,使用-c 0关掉mount次数达到后的文件系统检查。
禁止强制的文件系统检查:

复制代码

代码如下:


root@10.1.1.200:~# tune2fs -i0 -c0 /dev/sda1
tune2fs 1.41.3 (12-Oct-2008)
Setting maximal mount count to -1
Setting interval between checks to 0 seconds


还有一个dump2fs也是文件系统调整的工具.

 

dump2fs显示当前的磁盘状态:
 

复制代码

代码如下:


root@10.1.1.200:~# dumpe2fs /dev/sda1
Filesystem volume name: <none>
Last mounted on: <not available>
Filesystem UUID: b20e80f1-c88d-4918-9d9b-75cd7906629e
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_super large_file
Filesystem flags: signed_directory_hash 
Default mount options: (none)
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 1864128
Block count: 7442103
Reserved block count: 372105
Free blocks: 6884819
Free inodes: 1712582
First block: 0
Block size: 4096
Fragment size: 4096
Reserved GDT blocks: 1022
Blocks per group: 32768
Fragments per group: 32768
Inodes per group: 8176
Inode blocks per group: 511
Filesystem created: Fri Nov 16 15:36:59 2012
Last mount time: Tue Mar 19 11:02:58 2013
Last write time: Wed Mar 27 14:09:25 2013
Mount count: 17
Maximum mount count: -1
Last checked: Fri Nov 16 15:36:59 2012
Check interval: 0 (<none>)
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 256
Required extra isize: 28
Desired extra isize: 28
Journal inode: 8
First orphan inode: 1618875
Default directory hash: half_md4
Directory Hash Seed: 3090ccf1-625c-4934-9ec4-be3f74767f98
Journal backup: inode blocks
Journal size: 128M


 

复制代码

代码如下:


Group 0: (Blocks 0-32767)
Primary superblock at 0, Group descriptors at 1-2
Reserved GDT blocks at 3-1024
Block bitmap at 1025 (+1025), Inode bitmap at 1026 (+1026)
Inode table at 1027-1537 (+1027)
0 free blocks, 8152 free inodes, 2 directories
Free blocks: 
Free inodes: 22, 25, 27-8176
Group 1: (Blocks 32768-65535)
Backup superblock at 32768, Group descriptors at 32769-32770
Reserved GDT blocks at 32771-33792
Block bitmap at 33793 (+1025), Inode bitmap at 33794 (+1026)
Inode table at 33795-34305 (+1027)
3 free blocks, 8176 free inodes, 0 directories
Free blocks: 34309-34311
Free inodes: 8177-16352
Group 2: (Blocks 65536-98303)
Block bitmap at 65536 (+0), Inode bitmap at 65537 (+1)
Inode table at 65538-66048 (+2)
7 free blocks, 8176 free inodes, 0 directories
Free blocks: 66049-66055
Free inodes: 16353-24528
Group 3: (Blocks 98304-131071)
Backup superblock at 98304, Group descriptors at 98305-98306
Reserved GDT blocks at 98307-99328
Block bitmap at 99329 (+1025), Inode bitmap at 99330 (+1026)
Inode table at 99331-99841 (+1027)
6 free blocks, 8176 free inodes, 0 directories
Free blocks: 99842-99847
Free inodes: 24529-32704
Group 4: (Blocks 131072-163839)
Block bitmap at 131072 (+0), Inode bitmap at 131073 (+1)
Inode table at 131074-131584 (+2)
63 free blocks, 0 free inodes, 0 directories
Free blocks: 132074-132079, 133643-133647, 135671, 137739-137743, 139811-139815, 141814-141815, 143879, 145922-145927, 147933-147935, 150022-150023, 15207
1, 154107-154111, 156169-156175, 158202-158207, 160251-160255, 162293-162295
Free inodes: 
Group 5: (Blocks 163840-196607)
Backup superblock at 163840, Group descriptors at 163841-163842
Reserved GDT blocks at 163843-164864
Block bitmap at 164865 (+1025), Inode bitmap at 164866 (+1026)
Inode table at 164867-165377 (+1027)
0 free blocks, 8130 free inodes, 0 directories
Free blocks: 
Free inodes: 40881, 40928-49056

延伸 · 阅读

精彩推荐
  • LinuxLinux lnmp下无法使用mail发邮件的两种解决方法

    Linux lnmp下无法使用mail发邮件的两种解决方法

    在配置了lnmp环境后,出现了mail函数不能发送邮件的问题,其实有两种方法,一是使用sendmail组件,而是使用postfix。下面为大家一一介绍下 ...

    Linux之家4042019-09-17
  • LinuxLinux上设置用户通过SFTP访问目录的权限的方法

    Linux上设置用户通过SFTP访问目录的权限的方法

    这篇文章主要介绍了Linux上设置用户通过SFTP访问目录的权限的方法,SFTP可以理解为使用SSH协议进行FTP传输的协议,因而同时要对OpenSSH进行相关设置,需要的朋...

    OSChina10022019-06-19
  • Linux确保Linux系统安全的前提条件 漏洞防护

    确保Linux系统安全的前提条件 漏洞防护

    Linux 作为开放式的操作系统受到很多程序员的喜爱,很多高级程序员都喜欢编写Linux操作系统的相关软件。这使得Linux操作系统有着丰富的软件支持,还有无...

    Linux之家2642020-04-11
  • Linux详解Linux系统下PXE服务器的部署过程

    详解Linux系统下PXE服务器的部署过程

    这篇文章主要介绍了Linux系统下PXE服务器的部署过程,包括对PXE的API架构作了一个基本的简介,需要的朋友可以参考下...

    运维之道9812019-07-04
  • LinuxLinux中环境变量配置的步骤详解

    Linux中环境变量配置的步骤详解

    Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登录到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户使用系统时加载的...

    Myths7882022-02-10
  • LinuxLinux常用的日志文件和常用命令

    Linux常用的日志文件和常用命令

    成功地管理任何系统的关键之一,是要知道系统中正在发生什么事。 Linux 中提供了异常日志,并且日志的细节是可配置的。Linux 日志都以明文形式存储,所...

    Linux教程网2632020-04-18
  • Linuxlinux中rmdir命令使用详解(删除空目录)

    linux中rmdir命令使用详解(删除空目录)

    今天学习一下linux中命令: rmdir命令。rmdir是常用的命令,该命令的功能是删除空目录,一个目录被删除之前必须是空的 ...

    linux命令大全5372019-11-19
  • Linux手把手教您在 Linux 上使用 GPG 加解密文件

    手把手教您在 Linux 上使用 GPG 加解密文件

    在本教程中,我将告诉你如何用 GPG 加密和解密文件。这是一个简单的教程,你可以在你的 Linux 系统上尝试所有的练习。这将帮助你练习 GPG 命令,并在你...

    Linux中国6962021-12-15