linux fstab文件详解

      1 fstab文件的作用

        文件/etc/fstab存放的是系统中的文件系统信息。当正确的设置了该文件,则可以通过mount /directoryname命令来加载一个文件系统,每种文件系统都对应一个独立的行,每行中的字段都有空格或tab键分开。同时fsck、mount、umount的等命令都利用该程序。

         2. fstab文件格式

        下面是/etc/fatab文件的一个示例行:

        fs_specfs_file fs_type fs_options fs_dump fs_pass /dev/hda1/ ext2 defaults 1 1 
        fs_spec -该字段定义希望加载的文件系统所在的设备或远程文件系统,对于一般的本地块设备情况来说:IDE设备一般描述为/dev/hdaXN,X是IDE设备通道(a, b, or c),N代表分区号;SCSI设备一描述为/dev/sdaXN。对于NFS情况,格式一般为: 

        例如:`knuth.aeb.nl:/。对于procfs,使用`proc来定义。

         fs_file -该字段描述希望的文件系统加载的目录点,对于swap设备,该字段为none;对于加载目录名包含空格的情况,用40来表示空格。

         fs_type -定义了该设备上的文件系统,一般常见的文件类型为ext2 (Linux设备的常用文件类型)、vfat(Windows系统的fat32格式)、NTFS、iso9600等。

         codepage国家语言代码页

         iocharset字符集

        fs_options- 指定加载该设备的文件系统是需要使用的特定参数选项,多个参数是由逗号分隔开来。对于大多数系统使用defaults就可以满足需要。其他常见的选项包括:

         选项
         含义

         ro 以只读模式加载该文件系统
         sync 不对该设备的写操作进行缓冲处理,这可以防止在非正常关机时情况下破坏文件系统,但是却降低了计算机速度
         user 允许普通用户加载该文件系统
         quota 强制在该文件系统上进行磁盘定额限制
         noauto 不再使用mount -a命令(例如系统启动时)加载该文件系统
        fs_dump -该选项被dump命令使用来检查一个文件系统应该以多快频率进行转储,若不需要转储就设置该字段为0 
        fs_pass -该字段被fsck命令用来决定在启动时需要被扫描的文件系统的顺序,根文件系统/对应该字段的值应该为1,其他文件系统应该为2。若该文件系统无需在启动时扫描则设置该字段为0 

        3. 示例文件

java代码:
  1. #/etc/fstab 
  2. /dev/hda8swap swap defaults 0 0 
  3. /dev/hda9/ ext2 defaults 1 1 
  4. /dev/hda6/wine vfat defaults,codepage=936,iocharset=cp936 0 0 
  5. /dev/hda7/winf vfat defaults,codepage=936,iocharset=cp936 0 0 
  6. /dev/hdb/cdrom iso9660 noauto,user 0 0 
  7. none/proc proc defaults 0 0 
  8. none/dev/pts devpts gid=5,mode=620 0 0
复制代码

        fstab中存放了与分区有关的重要信息,其中每一行为一个分区记录,每一行又可分为六个部份,下面以/dev/hda7 / ext2 defaults 1 1为例逐个说明:

        1. 第一项是您想要mount的储存装置的实体位置,如hdb或/dev/hda6。
        2. 第二项就是您想要将其加入至哪个目录位置,如/home或/,这其实就是在安装时提示的挂入点。
        3. 第三项就是所谓的local filesystem,其包含了以下格式:如ext、ext2、msdos、iso9660、nfs、swap等,或如ext2,可以参见/prco/filesystems说明。
        4. 第四项就是您mount时,所要设定的状态,如ro(只读)或defaults(包括了其它参数如rw、suid、exec、auto、nouser、async),可以参见「mount nfs」。
       5. 第五项是提供DUMP功能,在系统DUMP时是否需要BACKUP的标志位,其内定值是0。
       6. 第六项是设定此filesystem是否要在开机时做check的动作,除了root的filesystem其必要的check为1之外,其它皆可视需要设定,内定值是0。




       /etc/fstab内容主要包括六项:
       例如:打印出中间的两行内容,如下
       LABEL=/   /    ext3   defaults     1    1
       /dev/sda2  /mnt/D/     vfat   defaults    0   0

       第一列:设备名或者设备卷标名,(/dev/sda10 或者 LABEL=/)
       第二列:设备挂载目录
      (例如上面的“/”或者“/mnt/D/”)
       第三列:设备文件系统
       (例如上面的“ext3”或者“vfat”)
       第四列:挂载参数
       (看帮助man mount)

       对于已经挂载好的设备,例如上面的/dev/sda2,现在要改变挂载参数,这时可以不用卸载该设备,而可以使用下面的命令(没有挂载的设备,remount 这个参数无效)
       #mount/mnt/D/ -o remount,ro  (改defaults为ro)

        为了安全起见,可以指明其他挂载参数,例如:
        noexec(不允许可执行文件可执行,但千万不要把根分区挂为noexec,那就无法使用系统了,连mount 命令都无法使用了,这时只有重新做系统了!
        nodev(不允许挂载设备文件)
        nosuid,nosgid(不允许有suid和sgid属性)
        nouser(不允许普通用户挂载)


        第五列:指明是否要备份,(0为不备份,1为要备份,一般根分区要备份)
        第六列:指明自检顺序。
        (0为不自检,1或者2为要自检,如果是根分区要设为1,其他分区只能是2)





        如果想开机就自动挂载(mount)上,可以在/etc/fstab上添加如下几行:
        /dev/hda5 /mnt/d vfatexec,dev,suid,rw,umask=0,iocharset=gb2312,codepage=936 0 0
        同时也解决了中文文件名的乱码问题,我的fstab文件如下,仅供参考:


java代码:

  1. LABEL=/12 / ext3 defaults 1 1
  2. none /dev/pts devptsgid=5,mode=620 0 0
  3. none /proc proc defaults 0 0
  4. none /dev/shm tmpfs defaults 0 0
  5. /dev/hda4 swap swap defaults 0 0
  6. /dev/cdrom /mnt/cdrom iso9660noauto,owner,kudzu,ro 0 0
  7. /dev/fd0 /mnt/floppy autonoauto,owner,kudzu 0 0
  8. /dev/hda1 /mnt/c vfatexec,dev,suid,rw,umask=0,iocharset=gb2312,codepage=936 0 0
  9. /dev/hda5 /mnt/d vfatexec,dev,suid,rw,umask=0,iocharset=gb2312,codepage=936 0 0
  10. /dev/hda6 /mnt/e vfatexec,dev,suid,rw,umask=0,iocharset=gb2312,codepage=936 0 0
  11. /dev/hda7 /mnt/f vfatexec,dev,suid,rw,umask=0,iocharset=gb2312,codepage=936 0 0
  12. /dev/hda8 /mnt/g vfatexec,dev,suid,rw,umask=0,iocharset=gb2312,codepage=936 0 0
复制代码

        fstab解读
       从做到右:
       /dev/device mount-point typerules dump fsck

       1. /dev/device: 不用说了吧?例如,/dev/hda1 为M$-Win9x下的c:盘。
       2. mount-point: 挂载点。例如,把/dev/hda1挂到/mnt/mywinc下。
       3. type: ext3, vfat, ......就是要挂上的文件系统类型。
       4. rules:

        auto: 开机自动挂接;
        default, noauto: 开机不自动挂接;
        nouser: 只有root可挂;
        ro: 只读挂接;
        rw: 可读可写挂接;
        user: 任何用户都可以挂接;
        5. dump: 备份;0为从不备份,或显示上次至今备份之天数;
        6. fsck: 启动时fsck检查顺序,0为不检查, “/”永远为1;

        我的就是:
        /dev/hda1 /mnt/mywinc vfatdefault 0 0
        在fstab中加载分区
        mkdir /mnt/win_c
        vi /etc/fstab
        :::::add:::::
        /dev/hda1 /mnt/win_c vfatdefault,pagecode=936,iocharset=cp936 0 0
        /etc/fastab释疑

         1. fstab文件的作用

        文件/etc/fstab存放的是系统中的文件系统信息。当正确的设置了该文件,则可以通过"mount /directoryname"命令来加载一个文件系统,每种文件系统都对应一个独立的行,每行中的字段都有空格或tab键分开。同时fsck、mount、umount的等命令都利用该程序。

         2. fstab文件格式
        下面是/etc/fatab文件的一个示例行:
        fs_spec fs_file fs_typefs_options fs_dump fs_pass
        /dev/hda1 / ext2 defaults 1 1
        fs_spec - 该字段定义希望加载的文件系统所在的设备或远程文件系统,对于一般的本地块设备情况来说:IDE设备一般描述为/dev/hdaXN,X是IDE设备通道(a, b, or c),N代表分区号;SCSI设备一描述为/dev/sdaXN。对于NFS情况,格式一般为<host>:<dir>,例如:`knuth.aeb.nl:/'。对于procfs,使用`proc'来定义。
        fs_file - 该字段描述希望的文件系统加载的目录点,对于swap设备,该字段为none;对于加载目录名包含空格的情况,用40来表示空格。
         fs_type - 定义了该设备上的文件系统,一般常见的文件类型为ext2 (linux设备的常用文件类型)、vfat(Windows系统的fat32格式)、NTFS、iso9600等。
         fs_options - 指定加载该设备的文件系统是需要使用的特定参数选项,多个参数是由逗号分隔开来。对于大多数系统使用"defaults"就可以满足需要。其他常见的选项包括:

        选项
        含义
        ro 以只读模式加载该文件系统
        sync 不对该设备的写操作进行缓冲处理,这可以防止在非正常关机时情况下破坏文件系统,但是却降低了计算机速度

        user 允许普通用户加载该文件系统
        quota 强制在该文件系统上进行磁盘定额限制
        noauto 不再使用mount -a命令(例如系统启动时)加载该文件系统
        fs_dump - 该选项被"dump"命令使用来检查一个文件系统应该以多快频率进行转储,若不需要转储就设置该字段为0

        fs_pass - 该字段被fsck命令用来决定在启动时需要被扫描的文件系统的顺序,根文件系统"/"对应该字段的值应该为1,其他文件系统应该为2。若该文件系统无需在启动时扫描则设置该字段为0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值