简介

在一般的 Unix 或者 类Unix 中,为了更好地管理磁盘资源,有时不得不挂载一个外部的磁盘,使用 mount 命令可以快速地挂载一个外部磁盘,具体用法为:

# 将磁盘分区 sda2 挂载在 /mnt 上
mount /dev/sda2 /mnt # 要查看有哪些磁盘分区是,可以通过 fdisk 命令来查看,添加对应地一些选项可以看到一些详细信息
# -l 表示列出分区
fdisk -l

挂载的时候会加载 /etc/fstab 内的配置选项,在挂载磁盘时使用对应的配置信息,如挂载的磁盘所用的文件系统类型等,下面是一个典型的 /etc/fstab 的内容:

每一行都对应着一块磁盘分区的挂载配置,每行总共有 6 个字段用于指定相关的配置信息,每个配置信息用一个或多个空格分开(注意 Unix 会把 Tab 转换为相同长度的空格)。以 “#” 开头的行的配置信息将会被忽略

这 6 个字段的对应信息如下所示(从左到右):

  • Device:第一个配置字段,表示挂载的磁盘分区,这些分区一般都可以在 /device/ 下找到,或者通过 fdisk 命令也可以查看到,但是现在大部分都是通过使用分区的 UUID 或者是对应的标签来指定(可以通过 blkid /dev/sda1 来查看 /dev/sda1UUID 和标签)

  • Mount Point:第二个配置字段,表示挂载当前的磁盘分区的挂载位置,挂载完成之后这个目录就是磁盘分区的挂载点,可以通过这个挂载点来访问磁盘分区。指定的挂载位置最好指定一个空的目录。

  • File System Type:第三个配置字段,要挂载的磁盘分区的文件类型。同样地,可以通过 blkid 命令来查看对应地磁盘分区所属的文件系统类型

  • Options:第四个配置字段,表示挂载时内核会如何处理挂载的磁盘分区,这个字段可以同时指定多个选项,一般常见的可用选项如下所示:

  • autonoauto

    auto 表示在 boot 引导系统启动时自动将这个磁盘分区进行挂载,noauto则表示这个磁盘分区应当被用户显式地进行挂载,即手动地挂载。当执行 mount -a 命令挂载 fstab 中的分区时,所有设置了 auto 选项的磁盘分区都会自动地进行挂载

  • execnoexec

    exec 表示驻留在这个磁盘分区中地可执行文件能够被执行,而 noexec 则表示移除这个磁盘分区内可执行文件地可执行能力。如果要挂载的磁盘分区只是为了保留非可执行文件,那么将这些磁盘分区设置为 noexec 能够更好地维持系统地安全性

  • usernouser

    user 选项指定能够挂载磁盘分区的用户,而 nouser 则表示只有 root 用户才能挂载分区。如果指定了能够挂载分区的用户,那么一定要确保挂载点对于用户来讲存在对应的访问权限。

    例如:

    # 表示只有 opensource 用户组下的 linux 用户才能将 /dev/sda5 挂载到 /mnt/sda5
    /dev/sda5 /mnt/sda5 ext4 uid=linux,gid=opensource 0 0
  • rorw

    ro 表示挂载的文件系统应当是只读的,rw 则表示挂载的文件系统既可以是可读的,也可以是可写的

  • syncasync

    这个选项指定了如何完成对挂载的磁盘分区的输入和输出操作。sync表示以同步的方式完成所有的操作,也就是说,当使用 copy 命令复制一个文件到挂载的磁盘分区时,会直接将数据写入到挂载的磁盘分区。而 async 则意味着只有在卸载时才会将数据写入到磁盘分区

  • suidnosuid

    suid 表示允许 suid 操作,而 nosuid 则表示禁止 suid 操作。(suid 表示特殊权限,具体详情可以查看 https://en.wikipedia.org/wiki/Setuid)

  • defaults

    Ext3 文件系统默认的选项 https://linoxide.com/explained-in-detail-linux-ext2-ext3-and-ext4-filesystem/。具体为:rw, suid, exec, auto, nouser, async

  • Backup Operation:第五个配置字段,表示是否需要对当前挂载的磁盘分区使用备份程序进行备份,通过设置该字段为 1 开启备份。

  • File System Check Order:第六个配置字段,表示在 boot 启动系统时使用 fsck进行磁盘分区的错误检测顺序,如果将这个字段设置为 0,则表示不需要对这个挂载的磁盘分区进行错误检测;如果是 root 分区需要进行磁盘检测的话,那么就需要将这个字段设置为 1,使得在 boot 引导启动系统时优先对这个磁盘分区进行错误检测;而其它的磁盘分区如果需要进行错误检测则将它置为 2,在系统重启时会对这个配置字段设置为 2 的所有挂载分区进行错误检测。

参考:

[1] https://geek-university.com/linux/etc-fstab-file/

[2] https://linoxide.com/understanding-each-entry-of-linux-fstab-etcfstab-file/

fstab 简介的更多相关文章

  1. linux 文件系统简介

    linux文件系统简介   文件系统是linux的一个十分基础的知识,同时也是学习linux的必备知识. 本文将站在一个较高的视图来了解linux的文件系统,主要包括了linux磁盘分区和目录.挂载基 ...

  2. linux文件系统简介

    文件系统是linux的一个十分基础的知识,同时也是学习linux的必备知识. 本文将站在一个较高的视图来了解linux的文件系统,主要包括了linux磁盘分区和目录.挂载基本原理.文件存储结构.软链接 ...

  3. Ansible简介及常用模块

    一.基础介绍 1.简介 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置. ...

  4. Docker存储驱动之Btrfs简介

    简介 Btrfs是下一代的copy-on-write文件系统,它支持很多高级特性,使其更加适合Docker.Btrfs合并在内核主线中,并且它的on-disk-format也逐渐稳定了.不过,它的很多 ...

  5. Linux----------samba服务的安装使用及简介

      一.Samba简介 Samba是在linux和Unix系统上实现SMB协议的一个免费软件,由服务器端和客户端程序组成. Samba与nfs的不同,Samba比nfs多支持Windows SMB ( ...

  6. Samba简介与配置(匿名&本地用户验证)

    Samba简介 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成. 在此之前我们已经了解了NFS,NFS与samba一样,也是在网络中实现文件共享的一种实 ...

  7. NFS服务简介与配置

    NFS简介 NFS特点 NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源 在NFS的应用中, ...

  8. Blktrace原理简介及使用

    Blktrace简介 Blktrace是一个用户态的工具,用来收集磁盘IO信息中当IO进行到块设备层(block层,所以叫blk trace)时的详细信息(如IO请求提交,入队,合并,完成等等一些列的 ...

  9. NFS服务简介

    NFS服务简介 NFS是Network File System的缩写,即网络文件系统.NFS是由Sun开发并发展起来的一项用于在不同机器,不同操作系统之间通过网络互相分享各自的文件.NFS serve ...

  10. LVM简介

    3. 创建VG.. 7 4. 创建LV.. 9 5.LV格式化及挂载... 10 一.LVM简介 LVM是 Logical Volume Manager(逻辑卷管理)的简写,它由Heinz Mauel ...

随机推荐

  1. 【RocketMQ】DLedger模式下的选主流程分析

    RocketMQ 4.5版本之前,可以采用主从架构进行集群部署,但是如果master节点挂掉,不能自动在集群中选举出新的Master节点,需要人工介入,在4.5版本之后提供了DLedger模式,使用R ...

  2. 【ASP.NET Core】在 Mini-API 中注入服务

    经过版本更新,Mini API 的功能逐步完善,早期支持得不太好的 mini API 现在许多特性都可以用了,比如灰常重要的依赖注入. 咱们先来个相当简单的注入测试.来,定义一个服务类,为了偷懒,老周 ...

  3. 谱图论:Laplacian算子及其谱性质

    1 Laplacian 算子 给定无向图\(G=(V, E)\),我们在上一篇博客<谱图论:Laplacian二次型和Markov转移算子>中介绍了其对应的Laplacian二次型: \[ ...

  4. Spring扩展接口(3):BeanFactoryPostProcessor

    在此系列文章中,我总结了Spring几乎所有的扩展接口,以及各个扩展点的使用场景.并整理出一个bean在spring中从被加载到最终初始化的所有可扩展点的顺序调用图.这样,我们也可以看到bean是如何 ...

  5. 【Azure Logic App】在Azure Logic App中使用SMTP发送邮件示例

    问题描述 在Azure Logic App的官网介绍中,使用SMTP组件发送邮件非常简单(https://docs.azure.cn/zh-cn/connectors/connectors-creat ...

  6. Go开发IDE全览:GoLand vs VSCode全面解析

    关注[TechLeadCloud],分享互联网架构.云服务技术的全维度知识.作者拥有10+年互联网服务架构.AI产品研发经验.团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构 ...

  7. Xmind思维导图工具2023最新专业版破解思路

    工具介绍 XMind 是一款最为流行的专业级思维_导图_制作与编辑软件,它现在在全球范围内都已极具名气,可谓是办公.学习.团队交流必备工具之一. 准备工作 1,官方Xmind软件 2,一个心意的编辑器 ...

  8. 设置Eclipse自动补全变量名

    具体配置步骤如下: Windows -> Preferences -> Java -> Editor -> Content Assist 选中 Enable auto-acti ...

  9. Altium designer 设置覆铜与板框间距

    新版Altium designer不再推荐使用 Keep-Out 层作为板框 以前使用 Keep-Out 作为板框的一个很大原因是因为 Keep-Out 自带板框间距属性.省去甚至不用考虑铺铜的边缘问 ...

  10. windows 下终止nginx 进程 重新启动nginx

    进入cmd 输入一下命令 删除nginx所有进程 taskkill /f /t /im nginx.exe