/etc/fstab和/etc/mtab
一、/etc/fstab和/etc/mtab的区别
1./etc/fstab
/etc/fstab是开机自动挂载的配置文件,在开机时起作用。相当于启动linux的时候,自动使用检查分区的fsck命令和挂载分区的mount命令,检查分区和挂载分区都是根据/etc/fstab中记录的相关信息进行的。
2./etc/mtab
/etc/mtab是当前的分区挂载情况,记录的是当前系统已挂载的分区。每次挂载/卸载分区时会更新/etc/mtab文件中的信息(执行mount命令会改变/etc/mtab的信息)。
3.区别
/etc/fstab是在开机时起作用,相当于在开机时执行了mount和fsck命令,系统根据/etc/fstab配置的信息自动挂载相关分区,自动挂载之后,/etc/mtab会被更新。
/etc/mtab是当前分区的挂载信息,如果挂载信息改变就会更新/etc/mtab文件。开机后,系统根据/etc/fstab的配置信息自动挂载分区,再更新/etc/mtab中的信息。
mount命令的使用不会改变/etc/fstab,而会改变/etc/mtab。
4.综上所述
/etc/fstab是记录开机自动挂载信息的配置文件,开机时自动挂载是根据这个文件进行的。而/etc/mtab是记录当前系统的挂载信息,每次系统挂载情况的改变都会更新/etc/mtab文件。
二、fstab 和 mtab 文件
没有这两个文件,计算机将找不到驱动器设备和分区。修改前一定要做好备份。
1./etc/fstab
描述了各种不同的文件系统。"fsck"和"mount"等命令都需要这些文件才能工作。/etc/fstab文件的存在价值就是,让计算机内的程序能知道如何寻找各个分区
例:
<fs_spec分区> <fs_file挂载点> <fs_type文件系统> <fs_options选项 > <fs_dump> <fs_pass> /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启
动时需要检查这个文件系统。数字大小决定开机时检测这个文件系统的顺序。
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。
2./etc/mtab
这个文件记录已经加载的设备,本文件在 mount 命令执行后自动更新,本文件中列出的,都是已经加载好的设备 例: /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
posted on 2018-06-27 19:04 Hello-World3 阅读(1418) 评论(0) 编辑 收藏 举报