使用/etc/fstab完成文件系统的挂载

时间:2015-03-09 01:55:55   收藏:0   阅读:13497

介绍

      Linux系统/etc/fstab是一个文本文件,系统引导时自动加载文件系统的配置文件,每个文件系统(包括分区或者设备)用一行来描述,在每一行中,用空格或TAB符号来分隔各个字段,文件中以#开头的行是注释信息。 fstab文件中的记录的排序也很重要。因为 fsckmountumount等程序在做它们的工作时会按此顺序进行,按约定RHEL用文件系统挂载点作标签来指定设备。

暂时不想使用的文件系统可用#注释掉,方便日后重新启用

/etc/mtab, 文件实时反映系统中挂载的文件系统,其显示格式与/etc/fstab 一致。

 

example

#

# /etc/fstab

# Created by anaconda on Sun Nov 20 15:16:50 2011

#

# Accessible filesystems, by reference, are maintained under ‘/dev/disk‘

# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info

#

<fs>                                                                                    <mountpiont>  <type> <opts>   <dump/pass>

UUID=e5d9736b-cf07-4bfe-a686-8c007c9ae347      /                             ext4    defaults        1 1

UUID=2b00d6a6-45fd-4f34-98bc-0c0a760ec14e     /boot                     ext4    defaults        1 2

UUID=47981aa4-f28b-4ac7-9126-4adbd53243a9    /fedora                  ext4    rw                   1 2

UUID=054cfc38-954a-45da-9526-561c6c92c7f0      /home                    ext4    defaults         1 2

UUID=83b5a64c-4013-4f0b-881a-2f4ab7ce2f5f       /share                     ext4    rw                   1 2

UUID=000F-F278          /study                  vfat    umask=0,rw,iocharset=gb2312          0 0

UUID=2A1D-0905          /winxp                  vfat    umask=0,rw,iocharset=gb2312          0 0

 

#普通用户挂载fat32 ntfs 分区有W权限

UUID=48d2c510-3c6b-4422-8792-8046ac65a792 swap                    swap    defaults        0 0

tmpfs                   /dev/shm                tmpfs   defaults        0 0

devpts                  /dev/pts                devpts  gid=5,mode=620  0 0

sysfs                   /sys                    sysfs   defaults        0 0

proc                    /proc                   proc    defaults        0 0

/study/rhel-server-6.0-i386-dvd.iso /mnt/rheliso udf,iso9660 loop        0 0

/study/Fedora-16-i386-DVD.iso  /mnt/fedora16iso         udf,iso9660 loop        0 0

#自动挂载ISO, 为避免挂载错误,可以使用指令在/etc/rc.d/rc.local 中添加指令来自动挂载ISO

 

192.168.100.20:/home    /mnt     nfs     defaults   0 0

#NFS挂载, 服务器名称/ip地址:共享目录   挂载点 文件类型  挂载选项 备份频率 检查选项

 

/dev/mapper/name     /cryptest   ext4     defaults     1  2

#挂载luks 设备时name 需要下/etc/crypttab 中设置的name 一致

 

//192.168.1.3/game    /media        cifs     -o username=Joen%password   0 0

 

none /tmp tmpfs defaults 0 0

 

     

文件内容解析

设备文件  挂载点  文件系统类型  mount参数  dump参数  fsck顺序

  1. 文件系统所在的设备或者文件系统标签:使用文件系统标签可避免因删减分区或者添加SCSI设备等造成设备名改变而使/etc/fstab文件混淆   ,挂载的形式, /dev/sda1 , LABEL=/home , UUID=  ..

  2. 挂载点, 特殊的是swap ,无挂载点.

  3. 文件系统类型;/proc/filesystems   auto ….

  4. option: default值为rw,ruid,dev,exec,auto,nouser,async

  5. dump_freq 工具备份标志,现在已很少使用dump,0,1作标记, 是否使用dump备份

  6. fsck_order启动时fsck(文件系统检查(FileSystem ChecK))的检查顺序(是否需要自检),1保留给/root,2 /root 外所有要检查的文件系统,0启动时不检查 ,非零代表检查的顺序

 

挂载形式

LABEL=/           /        ext4        defauts        1 1

/dev/sda1          /boot        ext4        defauts        1 2

uuid=xxx-xxx-xxx  /test  ext4  default  0 0

用户可以通过blkid <设备名>查询设备的文件系统类型与UUIDRHEL 6 中习惯是使用UUID挂载设备(名称固定)持久的设备命名方式通常是使用设备唯一的UUID,也常用于开机后自动挂载iSCSI上的文件系统

LABEL=labelname    /dev/sdaX(设备名)等价,可用于mount 命令和fstab.

swap 分区行不需要挂载点

 

挂载选项

 

共享挂载选项

共享挂载参数一般是两个一组且互斥。

async/sync

执行时是否使用同步读取方式

auto/noauto

mount -a时是否自动挂载,开机自动挂载

exec/noexec

该文件系统中的执行文件是否允许执行

atime/noatime

文件被改动时是否更新访问时间

dev/nodev

是否启用这个文件系统上的设备节点文件(块和字符设备)

suid/nosuid

在这个文件系统上是否要启用特殊权限

user/nouser

是否允许普通用户执行mount 命令

rw/ro

文件系统是可读写还是只读挂载

default

相当于rw,suid,dev,exec,auto,nouser,async 的组合

noexec:不允许可执行文件执行,可防止用户上传恶意可执行代码,但千万不要把根分区挂载为noexec,那就无法使用系统了,连mount命令都无法使用了,这时只有重新做系统了!

 

noatime 关闭atime特性,提高性能,这是一个很老的特性,放心关闭,还能减少loadcycle

defaults 使用默认设置。等于rw,suid,dev,exec,auto,nouser,async,具体含义看下面的解释。

自动与手动挂载:

auto 在启动或在终端中输入mount -a时自动挂载

noauto 设备(分区)只能手动挂载

读写权限:

ro 挂载为只读权限

rw 挂载为读写权限

可执行:

exec 是一个默认设置项,它使在那个分区中的可执行的二进制文件能够执行

noexec 二进制文件不允许执行。千万不要在你的root分区中用这个选项!!!

I/O同步:

sync 所有的I/O将以同步方式进行

async 所有的I/O将以非同步方式进行

户挂载权限:

user 允许任何用户挂载设备。 Implies noexec,nosuid,nodev unless overridden.

nouser 只允许root用户挂载。这是默认设置。

临时文件执行权限:

suid Permit the operation of suid, and sgid bits. They are mostly used to allow users on a computer system to execute binary executables with temporarily elevated privileges in order to perform a specific task.

nosuid Blocks the operation of suid, and sgid bits.

 

 

文件系统特定挂载选项

usrquota, grpquota

启用对用户和群组磁盘配额功能的选项.

_netdev

  iSCSI 等设备的挂载,避免网络启动前挂载出现错误

acl

只有ext 文件系统支持的选项功能

 

 

关于卷标

由于设备文件名可能在硬盘结构发生变化时更动,因此RHEL对ext2文件系统使用卷标来挂载与卸载。更换设备时,更改设备的卷标即可,卷标与设备文件无关,它记录在文件系统中的超级块中。

用户可以用e2label指令来查询与更改ext2/ext3文件系统的卷标, 使用卷标后,用户可以使用LABEL=labelname来取代命令行中的设备名称。

用卷标名挂载文件系统,一般直接以挂载点命名,或者明显区分其用途的名称。

mount  –L   jb  /myjb

mount  LABEL=jb  /myjb

 

不同的文件系统,需要用不同的工具来设置卷标

Mtools 适用于 FAT32 格式分区.

ntfsprogs 适用于 NTFS 格式分区.

e2label适用于 ext2 ext3 型格式分区.

 

sudo e2label /dev/xxx labelname

sudo ntfslabel /dev/xxx labelname

 

 

开机自动加载光驱

修改/etc/fstab

/dev/cdrom    /mnt/cdrom  udf,iso9660 noauto,owner,kudzu 0 0

/dev/cdrom    /mnt/cdrom  udf,iso9660 auto          0 0

/dev/cdrom    /mnt/cdrom   udf,iso9660  defaults  0 0

 

Linux下挂载NTFS分区

ntfs3gntfsprogs包提供了Linux系统下管理NTFS分区的功能,其中ntfs3g只提供挂载ntfs分区的功能,更多ntfs分区管理操作需要使用ntfsprogs(ntfsmount, mkntfs,ntfslabel)

yum install ntfs3g

mount -t ntfs3g /dev/  mount_point

 

 

 

/etc/fstab 恢复

光盘启动进入恢复模式下手动编辑/etc/fstab进行恢复,完成后使用mount/umount来测试是否可以正常挂载。

其中的信息参考来源有

fdisk -l

mount

/etc/mtab

 

命令

fuser -v /usr 查询如哪个用户在使用文件系统

df

du

fsck

e2label

mount

本文出自 “Adelphos” 博客,请务必保留此出处http://adelphos.blog.51cto.com/2363901/1618394

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!