Linux系统中 /etc/fstab 文件的深入解读

前言

[root@localhost ~]# cat /etc/fstab

#
# /etc/fstab
# Created by anaconda on Sat Nov 3 12:03:31 2018
#
# 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
#
UUID=64fc4e32-9cc9-4af9-8846-dc13865f770e /   ext4 defaults 1 1
UUID=14c3958d-b0a9-41bd-a046-06e148013349 /boot   ext4 defaults 1 2
UUID=15399f4c-8788-4348-b066-34179fe887cb 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

Linux系统下的/etc/fstab 文件 包含了需要开机后自动挂载的文件系统记录,Linux系统启动时将读取这个文件来自动挂载文件系统。我们可以通过修改这个文件将文件系统设置为开机自动挂载。

下面我们解读一下这个文件内容的具体含义。

第一列:Device:磁盘设备文件或者该设备的Label或者UUID

可以使用 dumpe2label命令查看设备标签、UUID。或者 使用简单命令 blkid 命令查看UUId

注意:使用设备名称(/dev/sda)来挂载分区时是被固定死的,一旦磁盘的插槽顺序发生了变化,就会出现名称不对应的问题。因为这个名称是会改变的。

不过使用label挂载就不用担心插槽顺序方面的问题。不过要随时注意你的Label name。至于UUID,每个分区被格式化以后都会有一个UUID作为唯一的标识号,使用uuid挂载的话就不用担心会发生错乱的问题了。

第二列:Mount point:设备的挂载点,就是你要挂载到哪个目录下

第三列:filesystem:磁盘文件系统的格式,包括ext2、ext3、reiserfs、nfs、vfat等

第四列:parameters:文件系统的参数,一般设置为默认 :defaults

parameters下可以设置的参数:

  • Async/sync 设置是否为同步方式运行,默认为async
  • auto/noauto 当下载mount -a 的命令时,此文件系统是否被主动挂载。默认为auto
  • rw/ro 是否以以只读或者读写模式挂载
  • exec/noexec 限制此文件系统内是否能够进行"执行"的操作
  • user/nouser 是否允许用户使用mount命令挂载
  • suid/nosuid 是否允许SUID的存在
  • Usrquota 启动文件系统支持磁盘配额模式
  • Grpquota 启动文件系统对群组磁盘配额模式的支持
  • Defaults 同时具有rw,suid,dev,exec,auto,nouser,async等默认参数的设置

第五列:能否被dump备份命令作用:dump是一个用来作为备份的命令。通常这个参数的值为0或者1

  • 0 代表不做dump备份
  • 1 代表要每天进行dump备份
  • 2 代表不定期进行dump操作

第六列:是否检验扇区:开机的过程中,系统默认会以fsck检验我们系统是否为完整(clean)。

  • 0 不要检验
  • 1 最早检验(一般根目录会选择最早检验)
  • 2 1级别检验完成后进行检验

这就是/etc/fstab 文件的中所有字段的含义了,我们要将文件系统设置成开机自动挂载时,就可以通过修改这个文件来完成了。

特别注意的是,在修改了 /etc/fstab 文件的情况下,当我们不需要再挂载这个文件系统并将它卸载后,一定要及时修改 /etc/fstab 文件。否则,当开机时读取 /etc/fstab 挂载已经卸载了的文件系统会因为找不到那个文件系统出现错误,导致不能正常开机。

总结

相关推荐