关于vi /etc/fstab 的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于vi /etc/fstab 的问题相关的知识,希望对你有一定的参考价值。

我在linux重新建立个分区/dev/sdb5,然后用mkfs格式化,然后挂载在/mnt/sdb5,用vi编辑器编辑
/dec/sdb5 /mnt/sdb5 ext3 defaults,usrquote,grpquote 1 2
wq保存后退出vi,但是我再用mount查看的时候,就少了usrquote,grpquote
/dev/sdb5 on /mnt/sdb5 type ext3 (rw)
怎么解决?

首先请看下面这个例子:
/dev/hda2 / ext2 defaults 1 1
/dev/hdb1 /home ext2 defaults 1 2
/dev/cdrom /media/cdrom auto ro,noauto,user,exec 0 0
/dev/fd0 /media/floppy auto rw,noauto,user,sync 0 0
proc /proc proc defaults 0 0
/dev/hda1 swap swap pri=42 0 0

这些看起来毫无意义的字符代表了什么?在对应相应分区或者存储设备信息的每一行中,每一列又是什么意思?先大体讲一下,第一列表示设备的名称,第二列表示该设备的挂载点,第三列是文件系统,第四列是挂载选项,第五列是dump选项(用一个数字表示),第六列(接下来的数字)表示文件系统检查选项。

fstab中的第四列表示设备或者分区所需要的挂载选项。这一列也是fstab中最复杂最容易出错的一列,当然,只要你能知道一些最常用的选项是什么意思,就可以让你从头疼中解脱出来。如果要把可用的选项一项一项介绍……恩,我估计我会写到明天,所以,我还是只是分析最常用的一些选项,如果你想知道更多的东西,还是求助于man吧。

auto 和 noauto: 这是控制设备是否自动挂载的选项。auto是默认选择的选项,这样,设备会在启动或者你使用mount -a命令时按照fstab的内容自动挂载。如果你不希望这样,就使用noauto选项,如果这样的话,你就只能明确地通过手工来挂载设备。

user 和 nouser:这是一个非常有用的选项,user选项允许普通用户也能挂载设备,而nouser则只允许root用户挂载。nouser是默认选项,这也是让很多 Linux新手头疼的东西,因为他们发现没有办法正常挂载光驱,Windows分区等。如果你作为普通身份用户遇到类似问题,或者别的其他问题,就请把 user属性增加到fstab中。

exec 和 noexec: exec允许你执行对应分区中的可执行二进制程序,同理,noexec的作用刚好相反。如果你拥有一个分区,分区上有一些可执行程序,而恰好你又不愿意,或者不能在你的系统中执行他们,就可以使用noexec属性。这种情况多发生于挂载Windows分区时。exec是默认选项,理由很简单,如果 noexec变成了你/根分区的默认选项的话……

ro: 以只读来挂载文件系统。

rw: 以可读可写的属性来挂载系统。

sync 和 async:对于该文件系统的输入输出应该以什么方式完成。sync的意思就是同步完成,通俗点讲,就是当你拷贝一个东西到设备或者分区中时,所有的写入变化将在你输入cp命令后立即生效,这个东西应该立马就开始往设备或者分区里面拷贝了。而如果是async,也就是输入输出异步完成的话,当你拷贝一个东西到设备或者分区中时,可能在你敲击cp命令后很久,实际的写入操作才会执行,换句话说,就是进行了缓冲处理。

有时候这种机制蛮不错的,因为sync会影响你系统的运行速度,但是这也会带来一些问题。想一想,当你希望将一个文件拷贝到u盘上时,你执行了cp 命令,却忘记执行umount命令(它会强行将缓冲区内容写入),那么你拷贝的文件实际上并没有在u盘上面。如果你是使用的mv命令,而你又很快将u盘拔出……恭喜你,文件会从这个星球上消失的。因此,虽然async是默认属性,但是对于u盘,移动硬盘这种可移动存储设备,最好还是让他们使用sync选项。

defaults: 所有选项全部使用默认配置,包括rw, suid, dev, exec, auto, nouser, 和 async。

对照你自己的东西好好看看把。 尤其是参数那里
参考技术A 启动的时候按e键(如果有grub密码的话输入p,然后输入密码,再按e键),# vi /etc/fstab 修改这个文件,然后找到相应的文职就可以改了 /UUID=追问

具体一点

关于/etc/fstab的理解

文件作用

避免每次开机后都重新手动挂载磁盘分区,系统启动时会读取这个文件,根据配置内容进行挂载

挂载的注意事项

  1. 根文件系统是必须最先挂载的
  2. 挂载点必须存在
  3. 挂载设备和挂载点同一时刻只能挂载一次

文件内容解释

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

#
# /etc/fstab
# Created by anaconda on Sat Jun 29 08:50:28 2019
#
# 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=0bbd5e50-606c-4c47-8cd7-1ae67f812437 /                       xfs     defaults        0 0
UUID=bba2c917-8540-41c8-97e6-f1d73d9143ba /boot                   xfs     defaults        0 0
UUID=1c0f8351-49f0-4dd8-9a8b-1aff1d4a77b0 swap                    swap    defaults        0 0
UUID=6cfbe843-e280-4d85-9ae3-60b0ebcc5909 /data xfs defaults 0 0

第一列为挂载设备

  可以是设备名称也可以是UUID或者label

通过blkid命令查看UUID和设备名

[root@master ~]# blkid /dev/sda3
/dev/sda3: UUID="0bbd5e50-606c-4c47-8cd7-1ae67f812437" TYPE="xfs" 

注意:使用设备名和UUID挂载的不同

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

第二列为挂载点

  就是给设备提供访问的目录

第三列为挂载类型

  常用的文件系统类型有:ext2-4,xfs nfs

第四列为挂载参数

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等默认参数的设置

可优化参数noatime,使用默认defaults参数时,文件被访问、创建、修改的时候,会记录时间戳,对于要求吞吐量的应用,最好加上此参数,会显著提高I/O效率。

第五列为是否备份

 0

代表不要做dump备份

  1

代表要每天进行dump的操作

   2

代表不定日期的进行dump操作

第六列为是否进行磁盘检测

0

不要检验

1

最早检验(一般根目录会选择)

2

1级别检验完成之后进行检验

以上是关于关于vi /etc/fstab 的问题的主要内容,如果未能解决你的问题,请参考以下文章

如何修复/etc/fstab配置文件

启动vi,更改/etc/passwd中的密码信息为不需要密码登陆。

/etc/fstab和/etc/mtab是啥关系?

/etc/fstab坏了导致Linux无法启动解决

不小心修改了/etc/fstab文件,无法启动如何处理

linux下/etc/fstab文件详解