/etc/fstab文件的详解

2022-11-16 17:52:18 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

一、/etc/fstab文件的作用

磁盘被手动挂载之后都必须把挂载信息写入/etc/fstab这个文件中,否则下次开机启动时仍然需要重新挂载。

系统开机时会主动读取/etc/fstab这个文件中的内容,根据文件里面的配置挂载磁盘。这样我们只需要将磁盘的挂载信息写入这个文件中我们就不需要每次开机启动之后手动进行挂载了。

二、挂载的限制

在说明这个文件的作用之前我想先强调一下挂载的限制。

1、根目录是必须挂载的,而且一定要先于其他mount point被挂载。因为mount是所有目录的跟目录,其他木有都是由根目录 /衍生出来的。

2、挂载点必须是已经存在的目录。

3、挂载点的指定可以任意,但必须遵守必要的系统目录架构原则

4、所有挂载点在同一时间只能被挂载一次

5、所有分区在同一时间只能挂在一次

6、若进行卸载,必须将工作目录退出挂载点(及其子目录)之外。

三、/etc/fstab文件中的参数

下面我们看看看/etc/fstab文件,这是我的linux环境中/etc/fstab文件中的内容

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

# This file is edited by fstab-sync – see ‘man fstab-sync’ for details

# Device Mount point filesystem parameters dump fsck

LABEL=/ / ext3 defaults 1 1

LABEL=/boot /boot ext3 defaults 1 2

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

none /dev/shm tmpfs defaults 0 0

none /proc proc defaults 0 0

none /sys sysfs defaults 0 0

LABEL=SWAP-sda3 swap swap defaults 0 0

/dev/sdb1 /u01 ext3 defaults 1 2

UUID=18823fc1-2958-49a0-9f1e-e1316bd5c2c5 /u02 ext3 defaults 1 2

/dev/hdc /media/cdrom1 auto pamconsole,exec,noauto,managed 0 0

/dev/fd0 /media/floppy auto pamconsole,exec,noauto,managed 0 0

在文件中我已经把每一列都做出来表示方便识别,我们可以看到一共有六列。

第一列 Device

磁盘设备文件或者该设备的Label或者UUID

1)查看分区的label和uuid

Label就是分区的标签,在最初安装系统是填写的挂载点就是标签的名字。可以通过查看一个分区的superblock中的信息找到UUID和Label name。

例如我们要查看/dev/sda1这个设备的uuid和label name

[root@wpg u02]# dumpe2fs -h /dev/sda1

dumpe2fs 1.35 (28-Feb-2004)

Filesystem volume name: /boot //这个就是Label name

Last mounted on:

Filesystem UUID: 3b10fe13-def4-41b6-baae-9b4ef3b3616c //UUID

Filesystem magic number: 0xEF53

Filesystem revision #: 1 (dynamic)

Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_super

Default mount options: (none)

Filesystem state: clean

简单点的方式我们可以通过下面这个命令来查看

[root@wpg u02]# blkid /dev/sda1

/dev/sda1: LABEL=”/boot” UUID=”3b10fe13-def4-41b6-baae-9b4ef3b3616c” SEC_TYPE=”ext3″ TYPE=”ext2″

2)使用设备名和label及uuid作为标识的不同

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

不过使用label挂载就不用担心插槽顺序方面的问题。不过要随时注意你的Label name。

至于UUID,每个分区被格式化以后都会有一个UUID作为唯一的标识号。使用uuid挂载的话就不用担心会发生错乱的问题了。

第二列 Mount point

设备的挂载点,就是你要挂载到哪个目录下。

第三列 filesystem

磁盘文件系统的格式,包括ext2、ext3、reiserfs、nfs、vfat等

第四列 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级别检验完成之后进行检验

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/215908.html原文链接:https://javaforall.cn

0 人点赞