檔案系統的掛載與卸載(mount and umount)
因為Linux的檔案系統的階層可以跨越獨立的分割區以及多重的磁碟機,所以有需要在開機的時候自動掛載這些檔案系統。此外,可抽換式磁碟(如抽取式硬碟,光碟等)以及遠端NFS伺服器上的檔案系統,會有經常性的掛載與卸載,因此不會採用開機時自動掛載的方式。開機時掛載有關的所有資訊會被紀錄載/etc/fstab檔案中。當系統開機時,定義於/etc/fstab檔案中的檔案系統將會受到檢查與掛載的處理。當使用者想要掛載可抽換式磁碟時,亦會參考到/etc/fstab中的資訊。
檔案/etc/fstab是一的文字檔,如以下的範例:
/dev/sda1 / btrfs defaults 1 1
/dev/sda2 /home xfs defaults 1 1
/dev/sda6 /root ext4 defaults 1 1
/dev/sda3 swap swap pri=42 0 0
usbdevfs /proc/bus/usb usbdevfs noauto 0 0
/dev/cdrom /media/cdrom auto ro,noauto,user,exec 0 0
/dev/sdb1 /home/user/usb vfat mode=0777,uid=500,gid=100 0 0
//ip/temp /home/user/temp cifs iocharset=utf8,user=user,password=,rw,uid=user,gid=users
/etc/fstab中每一列都有六個欄位,分別是:
1. Device(裝置)
這個欄位用來指定分割區的裝置檔,如/dev/sda1代表第一顆硬碟的第一個主要分割區。
2. Mount Point(掛載點)
這個欄位用來指定檔案系統所要掛載的目錄。如上例/dev/sda1包含root檔案系統,則會被掛載到 / 目錄。/dev/sda2 掛載到/home目錄,代表將第一顆硬碟的第二的主要分割區整個掛到/home底下,於是/home底下的使用者檔案便可共用一整個partition。
3. Filesystem Type(檔案系統類型)
不同的檔案系統具有不同的Filesystem Type。
4. Mount Options(掛載類型)
這個欄位包含一份以逗號隔開的選項清單。一般指定檔案系統是要以唯讀,可讀寫,或預設等等的方式掛上。
5. Dump Frequency(備份頻率)
dump程式(一個標準的unix備份工具)會參考到/etc/fstab中每個檔案系統在這裡的設定,以決定每個檔案系統多久備份一次。設為0則代表不備分。
6. fsck的檢查順序
fsck 是一個unix標準的磁碟檢查及除錯的工具(程式)。開機時亦會執行fsck這個指令來檢查磁碟。當fsck指令的-A參數被指定時,便會參考到/etc/fstab這個檔案,並依照檢查順序欄位的數字大小依序作檢查。這個欄位只能出現0,1,2三個值。
0 表示fsck不檢查
1 先檢查
2 檢查完設為1的檔案系統後在檢查設為2的檔案系統。
掛載與卸載指令 – mount 及 umount
mount [-option]
mount -o uid=user -o gid=users -o mode=755 -t vfat /dev/sdb1 /home/usb
說明:
[-option]
-a 掛載/etc/fstab檔中所列示的所有分割區。但有noauto選項的分割區除外。例如光碟,或其他抽取式磁碟。
-h 顯示輔助說明
-r 將檔案系統掛成read-only(唯讀)
-w 將檔案系統掛成read-write(可讀寫)
-o mount-option 在命令列上指定掛載選項。
-t fstype 指定檔案系統類型。
掛載選項:
以下的選項可以用在mount指令中(上頁褐色部分,使用-o 選項)或/etc/fstab檔案中(第四個選項)。
sync 建立同步I/O,當對資料讀寫時,會同步寫入檔案系統。但因為同步,效率較差。
async 建立非同步I/O,一般使用這個。
auto 使用-a選項時會自動掛載的檔案系統。系統開機時會執行mount –a,也就是說,設定這個選項時,檔案系統便會在開機時被掛載。
noauto 與auto相反。
exec 允許分割區上所包含的程式可以被執行。
noexec 與exec相反
user 允許一般使用者掛載此檔案系統,但不允許一般使用者卸載。
users 允許一般使用者mount及umount此檔案系統。
nouser 一般使用者不可mount及umount此檔案系統。
ro 唯讀,與-r命令列選項相等。
rw 可讀寫,與-w命令列選項相等。
defaults 包含rw,exec,auto,nouser,async等。(用defaults就不用指定一堆)。
檔案系統類型:
以下的檔案系統類型可以用在mount指令中(上頁紅色部分,使用-t 選項)或/etc/fstab檔案中(第三個選項)。Linux包含的檔案系統類型非常之多,以下只列出最常用者:
ext4 標準linux檔案系統
vfat 一般windows的FAT16,FAT32均可在linux系統中指定為vfat檔案系統。
iso9660 光碟
nfs network file system。遠端檔案系統。
swap swap(虛擬記憶體)分割區。
cifs
auto