/etc/fstab文档包含了主机上存储设备及其文件系统的信息。它是决定一个硬盘(分区)被怎样使用或者说整合到整个系统中的唯一文件。
该文档需使用root权限才能编辑,fsck、mount、umount等命令都利用该程序。
具体来说:用/etc/fstab文档可以自动挂载各种文件系统格式的硬盘、分区、可移动设备和远程设备等。
/etc/fstab文档内容分6个字段,分别是:
<file systems><dir><type><options><dump><pass>,每个字段以tab键隔开。
<file systems> 不是我们通常理解的文件系统,而是指设备(硬盘及其分区,DVD光驱等)。它告知我们设备(分区)的名字,这是你在命令行中挂载(mount)、卸载(umount)设备时要用到的。
<dir>告诉我们设备的挂载点。
<type> 指挂载设备或分区为何种文件系统类型。
<options>它能使你所挂载的设备在开机时自动加载、使中文显示不出现乱码、限制对挂载分区读写权限。它是与mount命令的用法相关的,要想得到一个完整的列表,参考mount manpage.
<dump> 是dump utility用来决定是否做备份的. 安装之后dump会检查entry并用数字来决定是否对这个文件系统进行备份。如果是0,dump就会忽略这个文件系统,如果是1,dump就会作一个备份。
noatime 关闭atime特性,提高性能,这是一个很老的特性,放心关闭,还能减少loadcycle
defaults 使用默认设置。等于rw,suid,dev,exec,auto,nouser,async,具体含义看下面的解释。
auto 在启动或在终端中输入mount -a时自动挂载
noauto 设备(分区)只能手动挂载
iocharset= 在=号后面加入你的本地编码,似乎在这个设备(分区)中做文件IO的时候就会自动做编码的格式转换。
nls= 在=号后面加入你的本地编码,你的中文就不会出现乱码。
umask= 这是关于读写权限的
exec 是一个默认设置项,它使在那个分区中的可执行的二进制文件能够执行
noexec 二进制文件不允许执行。千万不要在你的root分区中用这个选项
sync 所有的I/O将以同步方式进行
async 所有的I/O将以非同步方式进
user 允许任何用户挂载设备。 Implies noexec,nosuid,nodev unless overridden
nouser 只允许root用户挂载。这是默认设置
suid 允许suid和sgid操作
nosuid 关闭suid和sgid操作
<pass> fsck会检查这个头目下的数字来决定检查文件系统的顺序(允许的数字是0, 1, 和2。 文件系统的<pass>选项是0将不会被fsck utility检查。root文件系统应该拥有最高的优先权为1,而所有其它的文件系统,如果你想让它被check的话,应该写成2。
(参考他人博客)