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私房菜 之设定开机挂载

相关推荐