etc/fstab是一个文本文件,在这个文件中,每个文件系统(包括分区或者设备)用一行来描述,在每一行中,用空格或TAB符号来分隔各个字段,文件中以*开头的行是注释信息。fstab文件中的纪录的排序十分重要。因为 fsck,mount或umount等程序在做它们的工作时会按此顺序进行本。 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
示例(
sdb1
为新增的硬盘):
# /etc/fstab: static file system information.
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
/dev/sda1 / ext3 errors=remount-ro 0 1
/dev/sda6 /home ext3 defaults 0 2
/dev/sda5 none swap sw 0 0
/dev/hdc /media/cdrom0 udf,iso9660 user,noauto 0 0
/dev/fd0 /media/floppy0 auto rw,user,noauto 0 0
/dev/sdb1 /oracel ext3 defaults 0 2
第一、二列:设备和默认挂载点
第三列:文件系统类型
第四列:挂载选项
(
最难理解的)
auto
和
noauto
:
这是控制设备是否自动挂载的选项。
auto
是默认选择的选项,这样,设备会在启动或者你使用
mount -a
命令时按照
fstab
的内容自动挂载。如果你不希望这样,就使用
noauto
选项,如果这样的话,你就只能明确地通过手工来挂载设备。
user
和
nouser
:这是一个非常有用的选项,
user
选项允许普通用户也能挂载设备,而
nouser
则只允许
root
用户挂载。
nouser
是默认选项,这也是让很多
Linux
新手头疼的东西,因为他们发现没有办法正常挂载光驱,
Windows
分区等。如果你作为普通身份用户遇到类似问题,或者别的其他问题,就请把
user
属性增加到
fstab
中。
exec
和
noexec
:
exec
允许你执行对应分区中的可执行二进制程序,同理,
noexec
的作用刚好相反。如果你拥有一个分区,分区上有一些可执行程序,而恰好你又不愿意,或者不能在你的系统中执行他们,就可以使用
noexec
属性。这种情况多发生于挂载
Windows
分区时。
exec
是默认选项,理由很简单,如果
noexec
变成了你
/
根分区的默认选项的话……
ro
:
以只读来挂载文件系统。
rw
:
以可读可写的属性来挂载系统。
sync
和
async
:对于该文件系统的输入输出应该以什么方式完成。
sync
的意思就是同步完成,通俗点讲,就是当你拷贝一个东西到设备或者分区中时,所有的写入变化将在你输入
cp
命令后立即生效,这个东西应该立马就开始往设备或者分区里面拷贝了。而如果是
async
,也就是输入输出异步完成的话,当你拷贝一个东西到设备或者分区中时,可能在你敲击
cp
命令后很久,实际的写入操作才会执行,换句话说,就是进行了缓冲处理。
有时候这种机制蛮不错的,因为
sync
会影响你系统的运行速度,但是这也会带来一些问题。想一想,当你希望将一个文件拷贝到
u
盘上时,你执行了
cp
命令,却忘记执行
umount
命令(它会强行将缓冲区内容写入),那么你拷贝的文件实际上并没有在
u
盘上面。如果你是使用的
mv
命令,而你又很快将
u
盘拔出……恭喜你,文件会从这个星球上消失的。因此,虽然
async
是默认属性,但是对于
u
盘,移动硬盘这种可移动存储设备,最好还是让他们使用
sync
选项。
defaults
:
所有选项全部使用默认配置,包括
rw
,
suid
,
dev
,
exec
,
auto
,
nouser
,
和
async.
一般用户没有特殊需求,直接使用
defaults
就可以了。看完介绍,我们再回过头去看看前面的示例内容,以光驱为例,主要关注挂载选项这里,可以看到,光驱和其他分区设备的不同是
ro
,因为普通光驱是只读的。而
exec
则让你可以从光驱上直接执行某些程序。
第五、六列:
dump
和
fsck
选项
fstab
的第五列是表示
dump
选项,
dump
工具通过这个选项位置上的数字来决定文件系统是否需要备份。如果是
0
,
dump
就会被忽略,事实上,大多数的
dump
设置都是
0.
而第六列是
fsck
选项,
fsck
命令通过检测该字段来决定文件系统通过什么顺序来扫描检查,根文件系统
/
对应该字段的值应该为
1
,其他文件系统应该为
2.
若文件系统无需在启动时扫描检查,则设置该字段为
0
转载于:https://blog.51cto.com/lxsym/311994