/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编辑  收藏  举报

导航