1.简介
fstab文件记录了linux文件系统的静态信息,记录在这个文件内的设备在下次系统开机时会自动挂载到操作系统中。fstab文件只能以只读的形式被程序或者操作系统执行,不能写入,需要程序员手动对其进行修改。特别注意的是,fstab文件中记录的挂载顺序非常重要,fsck,mount,umount都是读这个文件做事情,而且根目录要优先于其他目录挂载,因为其他目录都是由根目录衍生出来的。
2.语法
语法:FileSystem Dir Type Option Dump Pass
第一列FileSystem:
表示要挂载的块设备或者远端的文件系统,例如硬盘,分区,光驱等
第一列可以是实际的分区名,如/dev/sda1,/dev/hda1等,也可以是实际分区的卷标,如LABEL=Boot,也可以是UUID,如UUID=3e6be9de-8139-11d1-9106–a43f08d823a6
这样做的好处是使文件系统更加健壮,不会因为磁盘插槽顺序问题而导致系统无法启动
第二列Dir:
挂载点,表示要挂载到哪个目录下
第三列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驱动器,这样做是很有必要的,因为可能每次挂载的文件类型不一致
第四列:Option
表示挂载的选项参数,很有用!!
推荐参数
noatime:关闭atime特性,提高性能,这是一个很老的特性,放心关闭,还能减少loadcycle
•默认设置
defaults 使用默认设置。等于rw,suid,dev,exec,auto,nouser,async,具体含义看下面的解释
•自动与手动挂载
auto 在启动或在终端中输入mount -a时自动挂载
noauto 设备(分区)在需要时手动挂载,节省系统资源
•IO编码设置
iocharset= 在=号后面加入你的本地编码,似乎在这个设备(分区)中做文件IO的时候就会自动做编
码的格式转换。
例如:你的某个分区是编码是utf8,而设备中文件的编码是gb2312,当是复制你设备中的文件到你的这个分区时,它将自动做编码转换
•中文乱码的解决
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用户挂载。这是默认设置。
第五列:Dump
第五列:能否做dump备份:dump是一个用来作为备份的命令。通常这个参数的值为0或者1
0 代表不要做dump备份
1 代表要每天进行dump的操作
2 代表不定日期的进行dump操作
第六列:是否检验扇区:开机的过程中,系统默认会以fsck检验我们系统是否为完整(clean)。
0 不要检验
1 最早检验(一般根目录会选择)
2 1级别检验完成之后进行检验