指令:fstab
使用權限 : 超級使用者
使用方式 : 使用編輯器來修改 /etc/fstab (eg. vi /etc/fstab)
說明 : 存放檔案系統與目錄結構對應資料的檔案
fstab 欄位說明:
第一欄(fs_spec): 實際的 device 名稱
第二欄(fs_file): 對應到的目錄結構(mount point)
第三欄(fs_vfstype):該 partition 的檔案系統,常見的有:
minix、ext、ext2、msdos、iso9660、nfs、swap
第四欄(fs_mntops): 在 mount 時的參數
第五欄(fs_freq): 在使用 dump 時是否記錄,不需要則輸入0
第六欄(fs_passno): 決定在開機時執行 fsck 的先后順序
例子 :
IDE 硬盤分成兩個 partition 與一個 swap,還有一臺光碟機跟一臺軟碟機的情形 :
/dev/hda1 / ext2 defaults 1 1
/dev/hda5 /home ext2 defaults 1 2
/dev/cdrom /mnt/cdrom iso9660 noauto,user,ro 0 0
/dev/hda6 swap swap defaults 0 0
/dev/fd0 /mnt/floppy ext2 noauto,owner 0 0
none /proc proc defaults 0 0
none /dev/pts devpts gid=5,mode=620 0 0
如果想開機就自動掛載(mount)上,可以在/etc/fstab上添加如下幾行:
/dev/hda5 /mnt/d vfat exec,dev,suid,rw,umask=0,iocharset=gb2312,codepage=936 0 0
同時也解決了中文文件名的亂碼問題,我的fstab文件如下,僅供參考:
LABEL=/12 / ext3 defaults 1 1
none /dev/pts devpts gid=5,mode=620 0 0
none /proc proc defaults 0 0
none /dev/shm tmpfs defaults 0 0
/dev/hda4 swap swap defaults 0 0
/dev/cdrom /mnt/cdrom iso9660 noauto,owner,kudzu,ro 0 0
/dev/fd0 /mnt/floppy auto noauto,owner,kudzu 0 0
/dev/hda1 /mnt/c vfat exec,dev,suid,rw,umask=0,iocharset=gb2312,codepage=936 0 0
/dev/hda5 /mnt/d vfat exec,dev,suid,rw,umask=0,iocharset=gb2312,codepage=936 0 0
/dev/hda6 /mnt/e vfat exec,dev,suid,rw,umask=0,iocharset=gb2312,codepage=936 0 0
/dev/hda7 /mnt/f vfat exec,dev,suid,rw,umask=0,iocharset=gb2312,codepage=936 0 0
/dev/hda8 /mnt/g vfat exec,dev,suid,rw,umask=0,iocharset=gb2312,codepage=936 0 0
fstab解讀
從做到右:
/dev/device mount-point type rules dump fsck
1. /dev/device: 不用說了吧?例如,/dev/hda1 為M$-Win9x下的c:盤。
2. mount-point: 掛載點。例如,把/dev/hda1掛到/mnt/mywinc下。
3. type: ext3, vfat, ......就是要掛上的文件系統類型。
4. rules:
auto: 開機自動掛接;
default, noauto: 開機不自動掛接;
nouser: 只有root可掛;
ro: 只讀掛接;
rw: 可讀可寫掛接;
user: 任何用戶都可以掛接;
5. dump: 備份;0為從不備份,或顯示上次至今備份之天數;
6. fsck: 啟動時fsck檢查順序,0為不檢查, “/”永遠為1;
我的就是:
/dev/hda1 /mnt/mywinc vfat default 0 0
在fstab中加載分區
mkdir /mnt/win_c
vi /etc/fstab
:::::add:::::
/dev/hda1 /mnt/win_c vfat default,pagecode=936,iocharset=cp936 0 0
/etc/fastab釋疑
1. fstab文件的作用
文件/etc/fstab存放的是系統中的文件系統信息。當正確的設置了該文件,則可以通過"mount
/directoryname"命令來加載一個文件系統,每種文件系統都對應一個獨立的行,每行中的字段都有空格
或tab鍵分開。同時fsck、mount、umount的等命令都利用該程序。
2. fstab文件格式
下面是/etc/fatab文件的一個示例行:
fs_spec fs_file fs_type fs_options fs_dump fs_pass
/dev/hda1 / ext2 defaults 1 1
fs_spec - 該字段定義希望加載的文件系統所在的設備或遠程文件系統,對于一般的本地塊設備情況來說
:IDE設備一般描述為/dev/hdaXN,X是IDE設備通道(a, b, or c),N代表分區號;SCSI設備一描述
為/dev/sdaXN。對于NFS情況,格式一般為:,例如:`knuth.aeb.nl:/'。對于procfs,使用
`proc'來定義。
fs_file - 該字段描述希望的文件系統加載的目錄點,對于swap設備,該字段為none;對于加載目錄名包
含空格的情況,用40來表示空格。
fs_type - 定義了該設備上的文件系統,一般常見的文件類型為ext2 (linux設備的常用文件類型)、
vfat(Windows系統的fat32格式)、NTFS、iso9600等。
fs_options - 指定加載該設備的文件系統是需要使用的特定參數選項,多個參數是由逗號分隔開來。對
于大多數系統使用"defaults"就可以滿足需要。其他常見的選項包括:
選項 含義
ro 以只讀模式加載該文件系統
sync 不對該設備的寫操作進行緩沖處理,這可以防止在非正常關機時情況下破壞文件系統,但是卻降低
了計算機速度
user 允許普通用戶加載該文件系統
quota 強制在該文件系統上進行磁盤定額限制
noauto 不再使用mount -a命令(例如系統啟動時)加載該文件系統
fs_dump - 該選項被"dump"命令使用來檢查一個文件系統應該以多快頻率進行轉儲,若不需要轉儲就設置
該字段為0
fs_pass - 該字段被fsck命令用來決定在啟動時需要被掃描的文件系統的順序,根文件系統"/"對應該字
段的值應該為1,其他文件系統應該為2。若該文件系統無需在啟動時掃描則設置該字段為0
3. 示例文件
# /etc/fstab
/dev/hda9 swap swap defaults 0 0
/dev/hda1 / ext2 defaults 1 1
/dev/hda5 /home ext2 defaults 1 1
/dev/hda6 /usr ext2 defaults 1 1
/dev/hda7 /usr/local ext2 defaults 1 1
/dev/hda8 /var ext2 defaults 1 1
/dev/hdb /cdrom iso9660 noauto,user 0 0
none /proc proc defaults 0 0
none /dev/pts devpts gid=5,mode=620 0 0
如果要用好linux,一定需要熟悉linux的一些核心配置文件,為此我們組織了一系統文章,對這些文件的
相關信息進行介紹。
Fstab文件保存關于文件系統的信息。
這個文件描述系統中各種文件系統的信息。一般而言,應用程序僅讀取這個文件,而不對它進行寫操
作。對它的維護是系統管理員的工作。在這個文件中,每個文件系統用一行來描述,在每一行中,用空格
或TAB符號來分隔各個字段,文件中以*開頭的行是注釋信息。Fstab文件中的紀錄的排序十分重要。因為
fsck,mount或umount等程序在做它們的工作時會按此順序進行。
第一個字段是對文件系統的定義(fs spec),它描述了將被裝載的塊設備或遠程文件系統。對于通常
的mount操作而言,這個字段應該包括一個將被裝載的塊設備的設備結點(通過mknod命令來創建)或指向這
類結點的連接(例如/dev/cdrom或/dev/sdb),對于NFS mount操作,這個字段應該包含host:dir格式的信
息,例如:knuth.aeb.nl:/,對于進程文件系統procfs,使用proc。
除了顯示的使用設備名,你可以使用設備的UUID或設備的卷標簽,例如,你可以在這個字段寫成
“LABAL=root”或“UUID=3e6be9de-8139-11d1-9106-a43f08d823a6”,這將使系統更具伸縮性。例如,
如果你的系統添加或移除了一個SCSI硬盤,這有可以改變你的設備名,但它不會修改你的卷標簽。
每二個字段(fs file),描述文件系統的載入點,對于交換分區(swap),這個字段定義為none,如果
在載入點的路徑中包含空格符,可以用“\040”來替代空格符。
第三個字段,文件系統類型(fs vfstype),主要用來定義文件系統的類型。Linux系統支持大量的文
件類型,包括sdfs,affs,autofs,jfs,minix, msdos, ncpfs, nfs, ntfs, proc, qnx4, reiserfs,
romfs,,smbfs, sysv, tmpfs, udf, ufs, umsdos, vfat, xenix, xfs等等。如果想了解你的kernel目前
支持哪些文件系統,可以查看/proc/filesystems的內容。如果這個字段定義為swap,這條紀錄將關聯到
一個用于交換目的的文件或分區。如果這個字段定義為ignored,這行將被忽略。這對于顯示目前沒有使
用的分區非常有用。
每四個字段,文件系統選項(fs mntops)在裝載文件系統時使用的裝載選項。多個選項之間用逗號做
分隔符,這些選項列表包括了裝載類型以及對于該文件系統合適的其它裝載選項。對于非NFS系統可用的
裝載選項可以參看mount命令的說明,對于nfs系統的選項可以查看關于nfs的文檔。對于所有文件系統都
適用的選項有noauto(當使用mount Ca命令時不載入),user(允許用戶進行裝載),owner(允許設備所有
人裝載),_netdev(設備需要網絡),后兩個選項是linux系統所特有的。
第五個字段,文件系統頻率(fs_freq),被dump程序使用來確定哪個文件系統需要dump,如果最后一
個字段沒有設置,系統將認為其值為0,而dump程序則認為此文件系統無需dump。
第6個字段(fs_passno)被fsck程序所使用來確定進行在系統重啟進行文件系統檢查時的順序,對于根
系統/這個值應設為1,其它文件系統可以設為2,在同一個物理硬盤內的文件系統應該被順序檢測,而不
同硬盤中的文件系統則應該同時檢測以充分利用系統的并行性。如果最后一個字段值為0或沒有設置,
fsck程序裝跳過此文件系統的檢測。在linux編程中可以用getmntent過程來訪問這個文件的內容。
# /etc/fstab: static file system information.
#
#
proc /proc proc defaults 0 0
/dev/sda3 / ext3 defaults,errors=remount-ro 0 1
/dev/sda7 none swap sw 0 0
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto 0 0
/dev/sda5 /mnt/winc vfat defaults,iocharset=utf8,codepage=936 0 0
/dev/sda6 /mnt/wind vfat defaults,iocharset=utf8,codepage=936 0 0
~
最后兩行是掛載fat32分區的,iocharset 和codepage 解決文件夾 中文亂碼問題 locale 顯示
********************
#locale
LANG=zh_CN.UTF-8
LANGUAGE=zh_CN:zh:en_US:en
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=
***********************
所以iocharset使用utf8
問題解決:
/dev/hda8 /mnt/g vfat exec,dev,suid,rw,umask=0,iocharset=cp936,codepage=936 0 0
參考加抄錄的地址:
http://www.linuxfans.org/nuke/modules.php
?
name=Forums&file=viewtopic&t=137837&postdays=0&postorder=asc&start=15
http://www.linuxmine.com/520.html
http://blog.chinaunix.net/u/12673/showart_183406.html
http://www.linuxdby.com/?action_tag_tagname_Fstab.html
原文:http://www.36ji.net/article/1018/8310.html