Linux中獲取硬盤分區(qū)或文件系統(tǒng)的UUID的七種方法
作為一個(gè) Linux 系統(tǒng)管理員,你應(yīng)該知道如何去查看分區(qū)的 UUID 或文件系統(tǒng)的 UUID。因?yàn)楝F(xiàn)在大多數(shù)的 Linux 系統(tǒng)都使用 UUID 掛載分區(qū)。你可以在 /etc/fstab
文件中可以驗(yàn)證。
有許多可用的實(shí)用程序可以查看 UUID。本文我們將會(huì)向你展示多種查看 UUID 的方法,并且你可以選擇一種適合于你的方法。
何為 UUID?
UUID 意即通用識(shí)別碼,它可以幫助 Linux 系統(tǒng)識(shí)別一個(gè)磁盤分區(qū)而不是塊設(shè)備文件。
自內(nèi)核 2.15.1 起,libuuid 就是 util-linux-ng 包中的一部分,它被默認(rèn)安裝在 Linux 系統(tǒng)中。UUID 由該庫(kù)生成,可以合理地認(rèn)為在一個(gè)系統(tǒng)中 UUID 是獨(dú)有的,并且在所有系統(tǒng)中也是獨(dú)有的。
這是在計(jì)算機(jī)系統(tǒng)中用來(lái)標(biāo)識(shí)信息的一個(gè) 128 位(比特)的數(shù)字。UUID 最初被用在阿波羅網(wǎng)絡(luò)計(jì)算機(jī)系統(tǒng)(NCS)中,之后 UUID 被開放軟件基金會(huì)(OSF)標(biāo)準(zhǔn)化,成為分布式計(jì)算環(huán)境(DCE)的一部分。
UUID 以 32 個(gè)十六進(jìn)制的數(shù)字表示,被連字符分割為 5 組顯示,總共的 36 個(gè)字符的格式為 8-4-4-4-12(32 個(gè)字母或數(shù)字和 4 個(gè)連字符)。
例如: d92fa769-e00f-4fd7-b6ed-ecf7224af7fa
我的 /etc/fstab
文件示例:
# cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a device; this may
# be used with UUID= as a more robust way to name devices that works even if
# disks are added and removed. See fstab(5).
#
#
UUID=69d9dd18-36be-4631-9ebb-78f05fe3217f / ext4 defaults,noatime 0 1
UUID=a2092b92-af29-4760-8e68-7a201922573b swap swap defaults,noatime 0 2
我們可以使用下面的 7 個(gè)命令來(lái)查看。
blkid
命令:定位或打印塊設(shè)備的屬性。lsblk
命令:列出所有可用的或指定的塊設(shè)備的信息。hwinfo
命令:硬件信息工具,是另外一個(gè)很好的實(shí)用工具,用于查詢系統(tǒng)中已存在硬件。udevadm
命令:udev 管理工具tune2fs
命令:調(diào)整 ext2/ext3/ext4 文件系統(tǒng)上的可調(diào)文件系統(tǒng)參數(shù)。dumpe2fs
命令:查詢 ext2/ext3/ext4 文件系統(tǒng)的信息?!?/li>- 使用
by-uuid
路徑:該目錄下包含有 UUID 和實(shí)際的塊設(shè)備文件,UUID 與實(shí)際的塊設(shè)備文件鏈接在一起。
Linux 中如何使用 blkid 命令查看磁盤分區(qū)或文件系統(tǒng)的 UUID?
blkid
是定位或打印塊設(shè)備屬性的命令行實(shí)用工具。它利用 libblkid 庫(kù)在 Linux 系統(tǒng)中獲得到磁盤分區(qū)的 UUID。
# blkid
/dev/sda1: UUID="d92fa769-e00f-4fd7-b6ed-ecf7224af7fa" TYPE="ext4" PARTUUID="eab59449-01"
/dev/sdc1: UUID="d17e3c31-e2c9-4f11-809c-94a549bc43b7" TYPE="ext2" PARTUUID="8cc8f9e5-01"
/dev/sdc3: UUID="ca307aa4-0866-49b1-8184-004025789e63" TYPE="ext4" PARTUUID="8cc8f9e5-03"
/dev/sdc5: PARTUUID="8cc8f9e5-05"
Linux 中如何使用 lsblk 命令查看磁盤分區(qū)或文件系統(tǒng)的 UUID?
lsblk
列出所有有關(guān)可用或指定塊設(shè)備的信息。lsblk
命令讀取 sysfs 文件系統(tǒng)和 udev 數(shù)據(jù)庫(kù)以收集信息。
如果 udev 數(shù)據(jù)庫(kù)不可用或者編譯的 lsblk 不支持 udev,它會(huì)試圖從塊設(shè)備中讀取卷標(biāo)、UUID 和文件系統(tǒng)類型。這種情況下,必須以 root 身份運(yùn)行。該命令默認(rèn)會(huì)以類似于樹的格式打印出所有的塊設(shè)備(RAM 盤除外)。
# lsblk -o name,mountpoint,size,uuid
NAME MOUNTPOINT SIZE UUID
sda 30G
└─sda1 / 20G d92fa769-e00f-4fd7-b6ed-ecf7224af7fa
sdb 10G
sdc 10G
├─sdc1 1G d17e3c31-e2c9-4f11-809c-94a549bc43b7
├─sdc3 1G ca307aa4-0866-49b1-8184-004025789e63
├─sdc4 1K
└─sdc5 1G
sdd 10G
sde 10G
sr0 1024M
Linux 中如何使用 by-uuid 路徑查看磁盤分區(qū)或文件系統(tǒng)的 UUID?
該目錄包含了 UUID 和實(shí)際的塊設(shè)備文件,UUID 與實(shí)際的塊設(shè)備文件鏈接在一起。
# ls -lh /dev/disk/by-uuid/
total 0
lrwxrwxrwx 1 root root 10 Jan 29 08:34 ca307aa4-0866-49b1-8184-004025789e63 -> ../../sdc3
lrwxrwxrwx 1 root root 10 Jan 29 08:34 d17e3c31-e2c9-4f11-809c-94a549bc43b7 -> ../../sdc1
lrwxrwxrwx 1 root root 10 Jan 29 08:34 d92fa769-e00f-4fd7-b6ed-ecf7224af7fa -> ../../sda1
Linux 中如何使用 hwinfo 命令查看磁盤分區(qū)或文件系統(tǒng)的 UUID?
hwinfo 意即硬件信息工具,是另外一種很好的實(shí)用工具。它被用來(lái)檢測(cè)系統(tǒng)中已存在的硬件,并且以可讀的格式顯示各種硬件組件的細(xì)節(jié)信息。
# hwinfo --block | grep by-uuid | awk '{print $3,$7}'
/dev/sdc1, /dev/disk/by-uuid/d17e3c31-e2c9-4f11-809c-94a549bc43b7
/dev/sdc3, /dev/disk/by-uuid/ca307aa4-0866-49b1-8184-004025789e63
/dev/sda1, /dev/disk/by-uuid/d92fa769-e00f-4fd7-b6ed-ecf7224af7fa
Linux 中如何使用 udevadm 命令查看磁盤分區(qū)或文件系統(tǒng)的 UUID?
udevadm
需要命令和命令特定的操作。它控制 systemd-udevd 的運(yùn)行時(shí)行為,請(qǐng)求內(nèi)核事件、管理事件隊(duì)列并且提供簡(jiǎn)單的調(diào)試機(jī)制。
# udevadm info -q all -n /dev/sdc1 | grep -i by-uuid | head -1
S: disk/by-uuid/d17e3c31-e2c9-4f11-809c-94a549bc43b7
Linux 中如何使用 tune2fs 命令查看磁盤分區(qū)或文件系統(tǒng)的 UUID?
tune2fs
允許系統(tǒng)管理員在 Linux 的 ext2、ext3、ext4 文件系統(tǒng)中調(diào)整各種可調(diào)的文件系統(tǒng)參數(shù)。這些選項(xiàng)的當(dāng)前值可以使用選項(xiàng) -l
顯示。
# tune2fs -l /dev/sdc1 | grep UUID
Filesystem UUID: d17e3c31-e2c9-4f11-809c-94a549bc43b7
Linux 中如何使用 dumpe2fs 命令查看磁盤分區(qū)或文件系統(tǒng)的 UUID?
dumpe2fs
打印出現(xiàn)在設(shè)備文件系統(tǒng)中的超級(jí)塊和塊組的信息。
# dumpe2fs /dev/sdc1 | grep UUID
dumpe2fs 1.43.5 (04-Aug-2017)
Filesystem UUID: d17e3c31-e2c9-4f11-809c-94a549bc43b7