Linux-开机挂载/etc/fstab及/etc/mtab
在开机的时候就将我要的档案系统都挂好呢,这样我就不需要每次进入Linux系统都还要在挂载一次! 方法就是直接到/etc/fstab里面去修修就行了! 不过,在开始说明前,这里要先跟大家说一说系统挂载的一些限制:
- 根目录/是必须挂载的﹐而且一定要先于其它mount point被挂载进来。
- 其它mount point必须为已建立的目录﹐可任意指定﹐但一定要遵守必须的系统目录架构原则
- 所有mount point在同一时间之内﹐只能挂载一次。
- 所有partition在同一时间之内﹐只能挂载一次。
- 如若进行卸载﹐您必须先将工作目录移到mount point(及其子目录)之外。
让我们直接查阅一下/etc/fstab这个档案的内容吧!
cat /etc/fstab
Device(第一栏)Mountpoint(第二栏)filesystem(第三栏)parameters(第四栏)dump(第五栏)fsck(第六栏)
LABEL=/1/ext3defaults11
LABEL=/home/homeext3defaults12
LABEL=/boot/bootext3defaults12
tmpfs/dev/shmtmpfsdefaults00
devpts/dev/ptsdevptsgid=5,mode=62000
sysfs/syssysfsdefaults00
proc/procprocdefaults00
LABEL=SWAP-hdc5swapswapdefaults00
#上述特殊字体的部分与实际硬盘有关!其他则是虚拟档案系统或与记忆体置换空间(swap)有关。
其实/etc/fstab(filesystemtable)就是将我们利用mount指令进行挂载时,
将所有的选项与参数写入到这个档案中就是了。
除此之外,/etc/fstab还加入了dump这个备份用指令的支援!
与开机时是否进行档案系统检验fsck等指令有关。这个档案的内容共有六个栏位,这六个栏位非常的重要! 你一定要背起来才好。各个栏位的详细资料如下:
第一栏:硬盘装置档名或该装置的Label:
这个栏位请填入档案系统的装置档名。但是由上面表格的预设值我们知道系统预设使用的是Label名称!在鸟哥的这个测试系统中/dev/hdc2标头名称为/1,所以上述表格中的『LABEL=/1』也可以被取代成为『/dev/hdc2』的意思。至于Label可以使用dumpe2fs指令来查阅的。
(记得有一次有个网友写信给鸟哥,他说,依照e2label的设定去练习修改自己的partition的Labelname之后,却发现,再也无法顺利开机成功!后来才发现,原来他的/etc/fstab就是以Labelname去挂载的但是因为在练习的时候,将Labelname改名字过了,导致在开机的过程当中再也找不到相关的Labelname了。
所以啦,所以,这里再次的强调,利用装置名称(ex> /dev/hda1)来挂载partition时,虽然是被固定死的,所以您的硬盘不可以随意插在任意的插槽,不过他还是有好处的。而使用Label name来挂载,虽然就没有插槽方面的问题,不过,您就得要随时注意您的Label name! 尤其是新增硬盘的時候 ^_^ )第二栏:挂载点(mount point):就是挂载点啊!挂载点是什么? 一定是目录啊~要知道啊!
第三栏:硬盘分区的文件系统:在手动挂载时可以让系统自动测试挂载,但在这个档案当中我们必须要手动写入档案系统才行! 包括ext3, reiserfs, nfs, vfat等等。
第四栏:文件系统参数:
记不记得我们在mount这个指令中谈到很多特殊的档案系统参数?还有我们使用过的『-oiocharset=cp950』?这些特殊的参数就是写入在这个栏位啦!这里我们利用表格的方式再汇整一下:
参数內容意義内容意义async/sync非同步/同步设定硬盘是否以非同步方式运作!预设为async(效能较佳)auto/noauto
自动/非自动当下达mount-a时,此文件系统是否会被主动测试挂载。预设为auto。rw/ro
可读写/唯读让该分区以可读写或者是唯读的型态挂载上来,如果你想要分享的资料是不给使用者随意变更的,这里也能够设定为唯读。则不论在此档案系统的档案是否设定w权限,都无法写入喔!exec/noexec
可执行/不可执行限制在此档案系统内是否可以进行『执行』的工作?如果是纯粹用来储存资料的,那么可以设定为noexec会比较安全,相对的,会比较麻烦!user/nouser
允许/不允许使用者挂载是否允许使用者使用mount指令来挂载?一般而言,我们当然不希望一般身份的user能使用mount啰,因为太不安全了,因此这里应该要设定为nouser!suid/nosuid
具有/不具有suid权限该档案系统是否允许SUID的存在?如果不是执行档放置目录,也可以设定为nosuid来取消这个功能!usrquota注意名称是『 usrquota 』不要拼错了! 这个是在启动filesystem支援磁碟配额模式,更多资料我们在第四篇再谈。grpquota注意名称是『 grpquota 』,启动filesystem对群组磁碟配额模式的支援。defaults同时具有rw, suid, dev, exec, auto, nouser, async等参数。 基本上,预设情况使用defaults设定即可!第五栏:能否被dump备份指令作用:dump是一个用来做为备份的指令(我们会在备份策略中谈到这个指令),我们可以透过fstab指定哪个档案系统必须要进行dump备份! 0代表不要做dump备份, 1代表要每天进行dump的动作。 2也代表其他不定日期的dump备份动作,通常这个数值不是0就是1!
第六栏:是否以fsck检验磁区:开机的过程中,系统预设会以fsck检验我们的filesystem是否完整(clean)。 不过,某些filesystem是不需要检验的,例如记忆体置换空间(swap) ,或者是特殊档案系统例如/proc与/sys等等。 所以,在这个栏位中,我们可以设定是否要以fsck检验该filesystem喔。0是不要检验, 1表示最早检验(一般只有根目录会设定为1), 2也是要检验,不过1会比较早被检验啦! 一般来说,根目录设定为1 ,其他的要检验的filesystem都设定为2就好了。
/etc/fstab是开机时的设定档,不过, 实际filesystem的挂载是记录到/etc/mtab与/proc/mounts这两个档案当中的 。每次我们在更动filesystem的挂载时,也会同时更动这两个档案! 但是,万一发生您在/etc/fstab输入的资料错误,导致无法顺利开机成功,而进入单人维护模式当中,那时候的/可是read only的状态,当然您就无法修改/etc/fstab ,也无法更新/etc/mtab~那怎么办?没关系,可以利用底下这一招:
mount -n -o remount,rw /
摘自:鸟哥Linux私房菜 之设定开机挂载