/etc/fstab 檔案解釋

來源:互聯網
上載者:User

http://ckc620.blog.51cto.com/631254/394238

/etc/fstab 檔案解釋

檔案fstab包含了你的電腦上的存放裝置及其檔案系統的資訊。它是決定一個硬碟(分區)被怎樣使用或者說整合到整個系統中的唯一檔案。

這個檔案的全路徑是/etc/fstab。它只是一個文字檔,你能夠用你喜歡的編輯器開啟它,但是必須是root使用者才能編輯它。同時fsck、mount、umount的等命令都利用該程式。

具體來說:用fstab可以自動掛載各種檔案系統格式的硬碟、分區、可行動裝置和遠程裝置等。對於Windows與arch雙作業系統使用者,用fstab掛載FAT格式和NTFS格式的分區,可以在Linux中共用windows系統下的資源。

fstab檔案樣本

現在讓我們看一下一個典型的fstab檔案:

# <file system><dir><type><options><dump><pass>none                   /dev/pts      devpts    defaults                0      0none                   /dev/shm      tmpfs     defaults                0      0/dev/cdrom             /media/cd     iso9660   ro,user,noauto,unhide   0      0/dev/dvd               /media/dvd    udf       ro,user,noauto,unhide   0      0/dev/fd0               /media/fl     auto      user,noauto             0      0/dev/hda1              swap          swap      defaults                0      0/dev/hda4              /             ext3      defaults                0      1/dev/hda3              /home         xfs       rw,suid,exec,auto,nouser,async 0      2</pass></dump></options></type></dir></file>

fstab詳解

讓我們對fstab的用法進行一個詳細的瞭解。一個典型的entry有下面的fields (fields用空格或tab分開):

<file system><dir><type><options><dump><pass></pass></dump></options></type></dir></file>
  • <file systems> 不是我們通常理解的檔案系統,而是指裝置(硬碟及其分區,DVD光碟機等)。它告知我們裝置(分區)的名字,這是你在命令列中掛載(mount)、卸載(umount)裝置時要用到的。so one should substitute for this entry the device name, remote partition, or similar. </file>

  • , 告訴我們裝置掛載到哪裡。
  • <type> 指掛載裝置或分區為何種檔案系統類型(例如:ext2, ext3, reiserfs, xfs, jfs, smbfs, iso9660, vfat, ntfs, swap等)。 archLinux支援許多檔案系統。 要得到一個完整的支援名單尋找mount man-page。典型 的名字包括這些:ext2, ext3, reiserfs, xfs, jfs, smbfs, iso9660, vfat, ntfs, swap和auto, 'auto' 不是一個檔案系統,而是讓mount命令自動判斷檔案類型,特別對於可行動裝置,磁碟片,DVD磁碟機,這樣做是很有必要的,因為可能每次掛載的檔案類型不一致。
    </type>
  • <options>,選項,這部分是最有用的設定!!! </options>

它能使你所掛載的裝置在開機時自動載入、使中文顯示不出現亂碼、限制對掛載分區讀寫權限。它是與mount命令的用法相關的,要想得到一個完整的列表,參考mount manpage.

    • 推薦參數
   noatime   關閉atime特性,提高效能,這是一個很老的特性,放心關閉,還能減少loadcycle
    • 預設設定
   defaults  使用預設設定。等於rw,suid,dev,exec,auto,nouser,async,具體含義看下面的解釋。
    • 自動與手動掛載
   auto  在啟動或在終端中輸入mount -a時自動掛載   noauto  裝置(分區)只能手動掛載 The file system can be mounted only explicitly.
    • IO編碼設定
   iocharset=   在=號後面加入你的本地編碼,似乎在這個裝置(分區)中做檔案IO的時候就會自動做編   碼的格式轉換。   例如:你的某個分區是編碼是utf8,而裝置中檔案的編碼是gb2312,當是複製你裝置中的檔案到你的這   個分區時,它將自動做編碼轉換。        (不知道我的理解對不對,但是好像用下面的nls就可以實現轉換。)
    • 中文亂碼的解決
   nls=     在=號後面加入你的本地編碼,你的中文就不會出現亂碼。
    • 讀寫權限
   umask=   這是關於讀寫權限的,好像比下面的ro,rw選項更管用!!!   例如:umask=000或0222,使得掛載時option中有default,普通使用者仍然能讀寫掛載裝置中的東西。                  請大家補充!!!   ro  掛載為唯讀許可權   rw   掛載為讀寫權限
    • 可執行
   exec     是一個預設設定項,它使在那個分區中的可執行檔二進位檔案能夠執行。   noexec  二進位檔案不允許執行。千萬不要在你的root分區中用這個選項!!!
    • I/O同步
   sync  所有的I/O將以同步方式進行   async  所有的I/O將以非同步方式進行
    • 使用者掛載許可權
   user  允許任何使用者掛載裝置。 Implies noexec,nosuid,nodev unless overridden.   nouser  只允許root使用者掛載。這是預設設定。
    •  
   suid     Permit the operation of suid, and sgid bits. They are mostly used to allow users on a computer system to execute binary executables with temporarily elevated privileges in order to perform a specific task.   nosuid   Blocks the operation of suid, and sgid bits.

 

 

  • <dump> 是dump utility用來決定是否做備份的. 安裝之後(Arch Linux預設是不安裝dump的), dump會檢查entry並用數字來決定是否對這個檔案系統進行備份。允許的數字是0和1。如果是0,dump就會忽略這個檔案系統,如果是1,dump就會作一個備份。大部分的使用者是沒有安裝dump的,所以對他們而言<dump>這個entry應該寫為0。 </dump></dump>
  • <pass> fsck會檢查這個頭目下的數字來決定檢查檔案系統的順序(looks at the number substituted for <pass> and determines in which order the file systems should be checked)。允許的數字是0, 1, 和2。 檔案系統的<pass>選項是0將不會被fsck utility檢查。root檔案系統應該擁有最高的優先權, 1,而所有其它的檔案系統,如果你想讓它被check的話,應該寫成2。 </pass></pass></pass>

注意: 除了直接用裝置(分區)名字,你也可以用UUID或卷名。格式 LABEL= or UUID=<uuid>。例如, `LABEL=Boot' or `UUID=3e6be9de-8139-11d1-9106-a43f08d823a6'. </uuid>

用fstab自動掛載FAT32和NTFS分區

1.先在用fdisk -l(可能需要在root許可權下)得到硬碟資訊表,例如:

#  Device Boot      Start         End      Blocks   Id  System/dev/sda1   *           1        2397    19253871    b  W95 FAT32/dev/sda2            2398        3144     6000277+  83  Linux/dev/sda3            3145        9729    52894012+   5  Extended/dev/sda5            3145        3152       64228+  83  Linux/dev/sda6            3153        3276      995998+  82  Linux swap / Solaris/dev/sda7            3277        7340    32644048+  83  Linux/dev/sda8            7341        9729    19189611    7  HPFS/NTFS

從上面知道,這台電腦上只有一個硬碟,其中分區sda1和sda8為NTFS格式,sda1為可以啟動的,因而可能為window的系統所在盤。下面把系統硬碟以唯讀方式持載上去,非系統硬碟sda8以讀寫方式掛載上去(不能掛載在"/"及其以下的任何目錄)。

2.用你喜歡的編輯器在終端中開啟/etc/fstab,例如:

                    nano /etc/fstab

在檔案末尾加入:

/dev/sda1 /mnt/WindowsC vfat defaults,codepage=936,iocharset=cp936,umask=0222 0 0/dev/sda8 /mnt/WindowsD ntfs defaults,iocharset=utf8,umask=000,nls=utf8 0 0

儲存,退出。

警告:使用936的codepage掛在fat32分區可能會造成linux下識別中文正常但是到windows下反而出現亂碼,推薦替換成utf8,但是dmesg提示警告,沒有關係,n多人用了這麼長時間都沒有問題

/dev/sda1 /mnt/WindowsC vfat user,utf8,umask=000 0 0

3.在終端中輸入

mount -a

你就應該能在/mnt/WindowsC下找到你的系統磁碟分割sda1內容,在/home/username/WindowsD中找到sda8的內容(其中username指使用者名稱)。

轉自http://www.javaeye.com/articles/368

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.