亞寵展、全球寵物產(chǎn)業(yè)風向標——亞洲寵物展覽會深度解析
734
2022-05-28
了解了 mount 命令之后,讀者可能會問,系統(tǒng)如何在開機時自動掛載硬盤,它又是怎么知道哪些分區(qū)是需要掛載的呢?
很簡單,linux 通過 /etc/fstab 配置文件來確定這些信息,這個配置文件對所有用戶可讀,但只有 root 用戶有權修改此文件。也就是說,如果我們想實現(xiàn)開機自動掛載某個硬件設備,只需要使用 root 身份在 /etc/fstab 文件中添加此設備即可。
首先,我們打開這個文件看看吧,執(zhí)行如下命令:
[root@localhost ~]# vi /etc/fstab UUID=c2ca6f57-b15c-43ea-bca0-f239083d8bd2 / ext4 defaults 1 1 UUID=0b23d315-33a7-48a4-bd37-9248e5c44345 /boot ext4 defaults 1 2 UUID=4021be19-2751-4dd2-98cc-383368c39edb swap swap defaults 0 0 \#只有這三個是真正的硬盤分區(qū),下面的都是虛擬文件系統(tǒng)或交換分區(qū) tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5, mode=620 0 0 sysfs /sys sysfe defaults 0 0 proc /proc proc defaults 0 0
目前,大家可以忽略 tmpfs、devpts、sysfs 和 proc 這幾行,它們分別是與共享內(nèi)存、終端窗口、設備信息和內(nèi)核參數(shù)相關聯(lián)的特殊設備。
可以看到,在 fstab 文件中,每行數(shù)據(jù)都分為了 6 個字段,它們的含義分別是:
用來掛載每個文件系統(tǒng)的分區(qū)設備文件名或 UUID(用于指代設備名);
掛載點;
文件系統(tǒng)的類型;
各種掛載參數(shù);
指定分區(qū)是否被 dump 備份;
指定分區(qū)是否被 fsck 檢測;
下面,我們一一進行講解。
/etc/fstab文件各字段的含義
首先介紹第一個字段,什么是 UUID 呢?UUID 即通用唯一標識符,是一個 128 位比特的數(shù)字,可以理解為就是硬盤的 ID,UUID 由系統(tǒng)自動生成和管理。
這個字段在 CentOS 5.5 系統(tǒng)中是寫入分區(qū)的卷標名或分區(qū)設備文件名的,現(xiàn)在變成了硬盤的 UUID。這樣做的好處是當硬盤増加了新的分區(qū),或者分區(qū)的順序改變,或者內(nèi)核升級后,仍然能夠保證分區(qū)能夠正確地加載,而不至于造成啟動障礙。
那么,每個分區(qū)的 UUID 到底是什么呢?用 dumpe2fs 命令(后續(xù)會講)就可以查看到,具體執(zhí)行命令如下:
[root@localhost ~]# dumpe2fs /dev/sdb5 dumpe2fs 1.41.12 (17-May-2010) Filesystem volume name: test_label Last mounted on:
另外,也可以通過查看每個硬盤UUID的鏈接文件名來確定UUID,命令如下:
[root@localhost ~]# ls -l /dev/disk/by-uuid/ 總用量 0 Irwxrwxrwx. 1 root root 10 4 月 11 00:17 0b23d315-33a7-48a4-bd37-9248e5c44345 -> ../../sdal Irwxrwxrwx. 1 root root 10 4 月 11 00:17 4021 be19-2751 -4dd2-98cc-383368c39edb -> ../../sda2 Irwxrwxrwx. 1 root root 10 4 月 11 00:17 63f238f0-a715-4821-8ed1-b3d18756a3ef -> ../../sdb5 Irwxrwxrwx. 1 root root 10 4月 11 00:17 6858b440-ad9e-45cb-b411 -963c5419e0e8 -> ../../sdb6 Irwxrwxrwx. 1 root root 10 4月 11 00:17 c2ca6f57-b15c-43ea-bca0-f239083d8bd2 -> ../../sda3
第二個字段關于掛載點的含義,我們已經(jīng)在 《Linux掛載》 和 《Linux mount命令》 章節(jié)中講解,所以這里不再贅述。但需要強調(diào)的是,掛載點一定要是已經(jīng)建立的空目錄。
第三個字段為文件系統(tǒng)名稱,CentOS 6.3 的默認文件系統(tǒng)應該是 ext4。
第四個字段是掛載參數(shù),這個參數(shù)和 mount 命令的掛載參數(shù)一致。
第五個字段表示“指定分區(qū)是否被 dump 備份”,0 代表不備份,1 代表備份,2 代表不定期備份。
第六個字段表示“指定分區(qū)是否被 fsck 檢測”,0 代表不檢測,其他數(shù)字代表檢測的優(yōu)先級,1 的優(yōu)先級比 2 高。所以先檢測 1 的分區(qū),再檢測 2 的分區(qū)。一般分區(qū)的優(yōu)先級是 1,其他分區(qū)的優(yōu)先級是 2。
配置 /etc/fatab 文件
能看懂這個文件了吧?我們把 /dev/sdb5 和 /dev/sdb6 兩個分區(qū)加入 /etc/fstab 文件,執(zhí)行命令如下:
[root@localhost ~]# vi /etc/fstab UUID=c2ca6f57-b15c-43ea-bca0-t239083d8bd2 ext4 defaults 1 1 UUID=0b23d315-33a7-48a4-bd37-9248e5c44345 I boot ext4 defaults 1 2 UUID=4021be19-2751-4dd2-98cc-383368c39edb swap swap defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5, mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 /dev/sdb5 /disk5 ext4 defaults 1 2 /dev/sdb6 /disk6 ext4 defaults 1 2
可以看到,這里并沒有使用分區(qū)的 UUID,而是直接寫入分區(qū)設備文件名,也是可以的。不過,如果不寫 UUID,就要注意,在修改了磁盤順序后,/etc/fstab 文件也要相應的改變。
這里直接使用分區(qū)的設備文件名作為此文件的第一個字段,當然也可以寫分區(qū)的 UUID。只不過 UUID 更加先進,設備文件名稍微簡單一點。
至此,分區(qū)就建立完成了,接下來只要重新啟動,測試一下系統(tǒng)是否可以正常啟動就可以了。只要 /etc/fstab 文件修改正確,就不會出現(xiàn)任何問題。
Linux
版權聲明:本文內(nèi)容由網(wǎng)絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權內(nèi)容。