mtab的内容
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 每当 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 前面列比较好理解,<分区><jiazaidian><文件系统><加载选项>。比较特殊的是最后两列,重点说明一下 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 有什麼不同呢 ? 白話的說...
认识/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 |