作為一個 Linux 系統管理員,你應該知道如何去檢視分割區的 UUID 或檔案系統的 UUID。因為現在大多數的 Linux 系統都使用 UUID 掛載分割區。你可以在 /etc/fstab
檔案中可以驗證。
有許多可用的實用程式可以檢視 UUID。本文我們將會向你展示多種檢視 UUID 的方法,並且你可以選擇一種適合於你的方法。
UUID 意即通用唯一識別碼,它可以幫助 Linux 系統識別一個磁碟分割區而不是塊裝置檔案。
自核心 2.15.1 起,libuuid 就是 util-linux-ng 包中的一部分,它被預設安裝在 Linux 系統中。UUID 由該庫生成,可以合理地認為在一個系統中 UUID 是唯一的,並且在所有系統中也是唯一的。
這是在計算機系統中用來標識資訊的一個 128 位(位元)的數位。UUID 最初被用在阿波羅網路計算機系統(NCS)中,之後 UUID 被開放軟體基金會(OSF)標準化,成為分散式計算環境(DCE)的一部分。
UUID 以 32 個十六進位制的數位表示,被連字元分割為 5 組顯示,總共的 36 個字元的格式為 8-4-4-4-12(32 個字母或數位和 4 個連字元)。
例如: 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 1UUID=a2092b92-af29-4760-8e68-7a201922573b swap swap defaults,noatime 0 2
我們可以使用下面的 7 個命令來檢視。
blkid
命令:定位或列印塊裝置的屬性。lsblk
命令:列出所有可用的或指定的塊裝置的資訊。hwinfo
命令:硬體資訊工具,是另外一個很好的實用工具,用於查詢系統中已存在硬體。udevadm
命令:udev 管理工具tune2fs
命令:調整 ext2/ext3/ext4 檔案系統上的可調檔案系統引數。dumpe2fs
命令:查詢 ext2/ext3/ext4 檔案系統的資訊。 by-uuid
路徑:該目錄下包含有 UUID 和實際的塊裝置檔案,UUID 與實際的塊裝置檔案連結在一起。blkid
是定位或列印塊裝置屬性的命令列實用工具。它利用 libblkid 庫在 Linux 系統中獲得到磁碟分割區的 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"
lsblk
列出所有有關可用或指定塊裝置的資訊。lsblk
命令讀取 sysfs 檔案系統和 udev 資料庫以收集資訊。
如果 udev 資料庫不可用或者編譯的 lsblk 不支援 udev,它會試圖從塊裝置中讀取卷標、UUID 和檔案系統型別。這種情況下,必須以 root 身份執行。該命令預設會以類似於樹的格式列印出所有的塊裝置(RAM 盤除外)。
# lsblk -o name,mountpoint,size,uuidNAME MOUNTPOINT SIZE UUIDsda 30G └─sda1 / 20G d92fa769-e00f-4fd7-b6ed-ecf7224af7fasdb 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
該目錄包含了 UUID 和實際的塊裝置檔案,UUID 與實際的塊裝置檔案連結在一起。
# ls -lh /dev/disk/by-uuid/total 0lrwxrwxrwx 1 root root 10 Jan 29 08:34 ca307aa4-0866-49b1-8184-004025789e63 -> ../../sdc3lrwxrwxrwx 1 root root 10 Jan 29 08:34 d17e3c31-e2c9-4f11-809c-94a549bc43b7 -> ../../sdc1lrwxrwxrwx 1 root root 10 Jan 29 08:34 d92fa769-e00f-4fd7-b6ed-ecf7224af7fa -> ../../sda1
hwinfo 意即硬體資訊工具,是另外一種很好的實用工具。它被用來檢測系統中已存在的硬體,並且以可讀的格式顯示各種硬體元件的細節資訊。
# 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
udevadm
需要命令和命令特定的操作。它控制 systemd-udevd 的執行時行為,請求核心事件、管理事件佇列並且提供簡單的偵錯機制。
# udevadm info -q all -n /dev/sdc1 | grep -i by-uuid | head -1S: disk/by-uuid/d17e3c31-e2c9-4f11-809c-94a549bc43b7
tune2fs
允許系統管理員在 Linux 的 ext2、ext3、ext4 檔案系統中調整各種可調的檔案系統引數。這些選項的當前值可以使用選項 -l
顯示。
# tune2fs -l /dev/sdc1 | grep UUIDFilesystem UUID: d17e3c31-e2c9-4f11-809c-94a549bc43b7
dumpe2fs
列印出現在裝置檔案系統中的超級塊和塊組的資訊。
# dumpe2fs /dev/sdc1 | grep UUIDdumpe2fs 1.43.5 (04-Aug-2017)Filesystem UUID: d17e3c31-e2c9-4f11-809c-94a549bc43b7