Chinaunix首页 | 论坛 | 博客
  • 博客访问: 628446
  • 博文数量: 262
  • 博客积分: 8433
  • 博客等级: 中将
  • 技术积分: 2141
  • 用 户 组: 普通用户
  • 注册时间: 2009-05-31 09:37
文章分类

全部博文(262)

文章存档

2012年(1)

2011年(168)

2010年(92)

2009年(1)

分类: LINUX

2009-05-31 09:46:07

mtab的说明
mtab的内容
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
devfs /dev devfs rw 0 0
devpts /dev/pts devpts rw 0 0
 
我们对照fstab内容
proc  /proc  proc defaults 0 0
sysfs  /sys  sysfs defaults 0 0
devfs  /dev  devfs defaults 0 0
devpts  /dev/pts devpts defaults 0 0
 
fstab说明了我们需要挂载的文件系统,即在此声明的文件系统,我们的系统才能识别、挂载
mtab说明在我们的系统中当前实际挂载的文件系统,包括具体的属性(defaults默认实际挂载会显示属性为rw)
 
 
fstab 和 mtab 的区别
2007年10月27日 星期六 01:40

fstab 文件想必大家都很熟悉,记录了计算机上硬盘分区的相关信息,启动 Linux 的时候,检查分区的 fsck 命令,和挂载分区的 mount 命令,都需要 fstab 中的信息,来正确的检查和挂载硬盘。

除了 fstab 文件之外,还有一个 mtab 文件,和 fstab 文件一样在 /etc 文件下,位于 /etc/mtab ,这个文件又是干什么用的呢?

我们可以看一下 mtab 文件的内容 (这是我电脑上的 mtab 文件内容):

# cat /etc/mtab
/dev/sda4 / reiserfs rw,noatime 0 0
proc /proc proc rw,nosuid,nodev,noexec 0 0
sysfs /sys sysfs rw,nosuid,nodev,noexec 0 0
udev /dev tmpfs rw,nosuid 0 0
devpts /dev/pts devpts rw,nosuid,noexec 0 0
/dev/sda2 /boot ext2 rw,noatime 0 0
shm /dev/shm tmpfs rw,noexec,nosuid,nodev 0 0
/dev/sda1 /mnt/winxp ntfs rw,utf8,umask=0 0 0
usbfs /proc/bus/usb usbfs rw,noexec,nosuid,devmode=0664,devgid=85 0 0
/dev/sdb5 /media/SWAP vfat rw,nosuid,nodev,shortname=lower,uid=1000 0 0
乍看上去,和 fstab 文件的结构和内容基本相同,但是不同的是,mtab 文件记录的是,当前已挂载的分区信息。

每当 mount 挂载分区、umount 卸载分区,都会动态更新 mtab,mtab 总是保持着当前系统中已挂载的分区信息,fdisk、df 这类程序,必须要读取 mtab 文件,才能获得当前系统中的分区挂载情况

 

/etc/fstab和/etc/mtab是什么关系?

具体说说看?-----/etc/fstab是个配置文件,

而/etc/mtab则显示的是已经被挂载的fs的清单文件     PS:个人观点

 

FSTAB 和 MTAB 文件

这是两个很危险的文件!没有他们,计算机将找不到驱动器设备和分区。修改前一定要做好备份。

/etc/fstab
本文件描述了各种不同的文件系统。"fsck"和"mount"等命令都需要这些文件才能工作。看起来有点复杂,不过其实只要我们把这个文件拆分成下面几个部分后,一切都会变得很清晰。清往下看:
(另一种理解:/etc/fstab 文件的存在价值就是,让计算机内的程序能知道如何寻找各个分区)
例:
< 分区 >< 挂载点 >< 文件系统 > < 选项 >< dump >< fsck order >
/dev/hdb1 . . . . / . . . . . . . . . . . . ext3 . . . . . . . . . defaults . . . . . . . 1 . . . . . . . . . 1
/dev/hdb6 . . . . /home. . . . . . . ext3 . . . . . . . . . defaults . . . . . . . 1 . . . . . . . . . 2
/dev/hdb5 . . . . swap . . . . . . . . swap . . . . . . . . defaults . . . . . . . 0 . . . . . . . . . 0
/dev/hda1 . . . . /mnt/win_c vfat . . . iocharset=iso8859-1,codepage=850,umask=0 0 0
none . /mnt/cdrom . . supermount dev=/dev/hdc,fs=auto,ro,--,iocharset=iso8859-1,codepage=850,umask=0 0 0
none . /mnt/floppy supermount dev=/dev/fd0,fs=auto,--,iocharset=iso8859-1,sync,codepage=850,umask=0 0 0
/dev/sda1 /mnt/memory_card auto user,iocharset=iso8859-1,kudzu,codepage=850,noauto,umask=0,exec 0 0
前面列比较好理解,<分区><文件系统><加载选项>。比较特殊的是最后两列,重点说明一下
dump:转存列,被转存工具调用,用来决定是否备份文件系统。1表示备份,0表示不备份。本文档不会涉及转存工具的工作细节。
fsck order:fsck顺序列,表明系统启动时,fsck 检查文件系统的顺序。0表示不检查,CD和软盘之类的可以动存储设备需要指定为这个值。大于1的值告诉fsck启动时需要检查这个文件系统。数字大小决定开机时检测这个文件系统的顺序。

/etc/mtab
这个文件记录已经加载的设备,本文件在 mount 命令执行后自动更新
另外,本文件和 fstab看起来很相像,但是又不完全相同(注意 rw 和 ro 是 keduxie 和 只读 的意思),本文件中列出的,都是已经加载好的设备
例:
/dev/hdb1 / ext3 rw 0 0
none /proc proc rw 0 0
none /proc/bus/usb usbdevfs rw 0 0
none /dev devfs rw 0 0
none /dev/pts devpts rw,mode=0620 0 0
/dev/hdb6 /home ext3 rw 0 0
none /mnt/cdrom supermount ro,dev=/dev/hdc,fs=auto,--,iocharset=iso8859-1,codepage=850,umask=0 0 0
none /mnt/cdrom2 supermount ro,dev=/dev/scd0,fs=auto,--,iocharset=iso8859-1,codepage=850,umask=0 0 0
none /mnt/floppy supermount rw,sync,dev=/dev/fd0,fs=auto,--,iocharset=iso8859-1,codepage=850,umask=0 0 0
/dev/hda1 /mnt/windows vfat rw,iocharset=iso8859-1,codepage=850,umask=0 0 0
/dev/hdb7 /usr ext3 rw 0 0
/dev/sda1 /mnt/memory_card vfat rw,nosuid,nodev,iocharset=iso8859-15,codepage=850,umask=0,user=julia 0 0

 

 

請問 /etc/mtab 與/etc/fstab 有什麼不同呢 ?
fstab - static information about the filesystems
The file fstab contains descriptive information about the various file systems. fstab is only read by programs, and not written

這是man page說得


man mount有一段
The programs mount and umount maintain a list of currently mounted file systems in the file /etc/mtab. If no arguments are given to mount,this list is printed

所以說 有mount上的filesystem會出現在/etc/mtab

fstab只是讓你是先設定一下mount point跟一些mount option 沒有的話其實也可以mount

白話的說...
fstab 是系統開機時用來判斷那些要 mount 上來的設定檔
(這個檔案是死的!)
而...
mtab 則是根據你現行系統已經 mount 上了那些會自行更新
(這個檔案是活的!)

 

认识/etc/fstab和/etc/mtab文件

/etc/fstab文件的作用

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



/etc/mtab文件的作用:

记载的是现在系统已经装载的文件系统,包括操作系统建立的虚拟文件等;而/etc/fstab是系统准备装载的。直接使用mount和确定就是通过查询它而来的。



fstab文件格式:

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

fs_spec   fs_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情况,格式一 般为“IP:directory”: ,例如:`knuth.aeb.nl:/'。对于procfs,使用`proc'来定义。 当然,此列可以使用加载分区的label名称来代替具体的分区名称。

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

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

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

选项
含义

ro
read only以只读模式加载该文件系统

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

user
允许普通用户加载该文件系统

quota
强制在该文件系统上进行磁盘定额限制

noauto
不再使用mount -a命令(例如系统启动时)加载该文件系统

noexec
不允许可执行文件可执行,但千万不要把根分区挂为noexec,那就无法使用系统了,连mount 命令都无法使用了,这时只有重新做系统了

nodev
不允许挂载设备文件

nosuid,nosgid
不允许有suid和sgid属性

nouser
不允许普通用户挂载



     fs_dump:指明是否要备份。该选项被"dump"命令使用来检查一个文件系统应该以多快频率进行转储,若不需要转储就设置该字段为0。0为不备份,1为要备份,一般根分区要备份。

    fs_pass:指明自检顺序。该字段被fsck命令用来决定在启动时需要被扫描的文件系统的顺序,根文件系统"/"对应该字段的值应该为1,其他文件系统应该为2。若该文件系统无需在启动时扫描,则设置该字段为0。



一个例子:

[root@devdbc root]# nl /etc/fstab

     1  LABEL=/                 /                       ext3    defaults        1 1

     2  LABEL=/boot             /boot                   ext3    defaults        1 2

     3  LABEL=/home             /home                   ext3    defaults        1 2

     4  LABEL=/var              /var                    ext3    defaults        1 2

     5  LABEL=/opt              /opt                    ext3    defaults        1 2

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

     7  none                    /proc                   proc    defaults        0 0

     8  /dev/sda3               swap                    swap    defaults        0 0

     9  /dev/sda7               swap                    swap    defaults        0 0

    10  /dev/sda9               swap                    swap    defaults        0 0

    11  /dev/sda8               swap                    swap    defaults        0 0

    12  none                    /dev/shm                tmpfs   defaults        0 0

    13  shmfs /dev/shm shm size=8g 0 0

    14  #archive logs

    15  /dev/sde1              /archive_log             ext3    defaults        1 1

    16  #cx300_data

    17  /dev/emcpowerbi1       /cx300_devdbc/data1       ext3    defaults        1 1

    18  /dev/emcpowerbj1       /cx300_devdbc/data3       ext3    defaults        1 1

    19  /dev/emcpowerbh1       /cx300_devdbc/data4       ext3    defaults        1 1

    20  /dev/emcpowerbg1       /cx300_devdbc/data2       ext3    defaults        1 1

    21  #backup directory

    22 10.1.5.51:/vol/data      /netapp51              nfs     rw,soft,nointr,tcp,vers=3,timeo=600,rsize=32768,wsize=32768

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

    24  /dev/fd0                /mnt/floppy             auto    noauto,owner,kudzu 0 0

[root@devdbc root]# nl /etc/mtab

     1  /dev/sda2 / ext3 rw 0 0

     2  none /proc proc rw 0 0

     3  none /dev/pts devpts rw,gid=5,mode=620 0 0

     4  usbdevfs /proc/bus/usb usbdevfs rw 0 0

     5  /dev/sda1 /boot ext3 rw 0 0

     6  /dev/sda5 /home ext3 rw 0 0

     7  /dev/sda6 /var ext3 rw 0 0

     8  /dev/sda10 /opt ext3 rw 0 0

     9  none /dev/shm tmpfs rw 0 0

    10  /dev/sde1 /archive_log ext3 rw 0 0

    11  ramfs /dev/shm ramfs rw 0 0

    12  /dev/emcpowerbi1 /cx300_devdbc/data1 ext3 rw 0 0

    13  /dev/emcpowerbg1 /cx300_devdbc/data2 ext3 rw 0 0

    14  /dev/emcpowerbj1 /cx300_devdbc/data3 ext3 rw 0 0

    15  /dev/emcpowerbh1 /cx300_devdbc/data4 ext3 rw 0 0

    16  10.1.5.51:/vol/data /netapp51 nfs rw,soft,nointr,tcp,vers=3,timeo=600,rsize=32768,wsize=32768,addr=10.1.5.51 0 0
阅读(1243) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~