Linux 再入门整理:详解 /etc/fstab 文件

目录

  • 1. 什么是 /etc/fstab
  • 2. /etc/fstab 文件的格式
    • 2.1 设备文件 (Device)
    • 2.2 挂载点 (Mount Point)
    • 2.3 文件系统类型 (File System Type)
    • 2.4 挂载选项 (Mount Options)
    • 2.5 Backup Operation(dump 参数)
    • 2.6 Pass Order (fsck 参数)
      • 2.6.1 参数设置
      • 2.6.2 不同发行版默认参数
      • 2.6.3 设置为 0 的原因
  • 3. 常见示例
    • 3.1 常见的本地磁盘配置
    • 3.2 NFS 挂载
    • 3.3 U 盘自动挂载配置
    • 3.4 更多...

参考文章:

  • https://www.redhat.com/sysadmin/etc-fstab
  • https://wiki.archlinux.org/title/Fstab

1. 什么是 /etc/fstab

/etc/fstab 文件是 Linux 系统中用于定义和管理文件系统的挂载信息的配置文件。它的作用是告诉系统在启动时,应该如何自动挂载各种文件系统。挂载是 Linux 操作系统中一种将存储设备与目录树关联的操作。通过挂载,存储设备中的文件可以通过目录访问。

2. /etc/fstab 文件的格式

/etc/fstab 文件的每一行描述了一个文件系统或设备的挂载信息,通常由 6 个字段组成,每个字段通过空格或制表符分隔。字段的顺序非常重要,具体如下:

<设备文件>  <挂载点>  <文件系统类型>  <挂载选项>  <dump>  <fsck>

2.1 设备文件 (Device)

这是指需要挂载的设备或分区。可以通过多种方式指定设备,常见的几种方式包括:

  • 设备名:直接使用物理设备名或分区名,如 /dev/sda1,表示第一个硬盘的第一个分区。
  • UUID:每个分区都有一个唯一标识符 (UUID),使用 UUID=xxxx-xxxx-xxxx 格式可以更加稳定地标识设备,因为设备名在不同的启动过程中可能会改变。
  • LABEL:如果为分区设置了标签 (Label),可以通过 LABEL=MyData 的方式引用设备。
/dev/sda1        /boot           ext4    defaults        0  2
UUID=550e8400-e29b-41d4-a716-446655440000  /home  ext4  defaults 0 2

2.2 挂载点 (Mount Point)

这是文件系统挂载的位置,即它在目录树中的路径。挂载点可以是任何一个空目录。例如:

  • / 表示根文件系统。
  • /home 表示用户目录挂载点。
  • /mnt/data 是一个常用的手动挂载位置。
  • /media/data 是一个常用的手动挂载位置。
  • none 表示文件系统不挂载到特定的路径,通常用于 swap 分区。

2.3 文件系统类型 (File System Type)

这是指定文件系统类型的字段,它告诉内核如何处理该分区。常见的文件系统类型包括:

  • ext4:目前大多数 Linux 系统的默认文件系统,支持日志记录和大文件。
  • xfs:高性能文件系统,特别适合大数据和企业级存储环境。
  • vfat:FAT32 文件系统,用于 U 盘和移动设备兼容 Windows 系统的情况。
  • ntfs:Windows NT 文件系统,适用于从 Linux 访问 Windows 分区。
  • swap:交换分区,用于虚拟内存扩展。
  • nfs:网络文件系统,允许从远程服务器挂载文件系统。
# 示例
/dev/sda1        /boot           ext4    defaults        0  2
/dev/sda5        none            swap    sw              0  0
192.168.1.100:/shared /mnt/nfs  nfs   defaults  0 0

2.4 挂载选项 (Mount Options)

挂载选项控制文件系统的行为。这些选项以逗号分隔,组合使用时不会有空格。常见的挂载选项有:

  • defaults:这是一组默认的选项,包括 rw(读写)、suid(允许 setuid 位)、dev(解释字符和块设备)、exec(允许可执行文件)、auto(自动挂载)、nouser(用户无法挂载)、async(异步 I/O 操作)。
  • ro/rw:以只读 (ro) 或读写 (rw) 模式挂载。
  • noatime:不更新文件访问时间,提升性能,特别适合 SSD 和高性能服务器。
  • nodiratime:不更新目录访问时间,进一步优化性能。
  • user/nouseruser 允许普通用户挂载和卸载该文件系统,nouser 则仅允许 root 挂载。
  • sync/asyncsync 选项意味着所有文件系统操作是同步的,async 则是异步的,async 是默认值。
  • noauto:不自动挂载,需要手动挂载。
  • noexec:禁止在文件系统上执行可执行文件。
# 示例
/dev/sda2   /media/usb   vfat    noauto,user,exec,rw  0  0

这行代码表示挂载一个 U 盘,使用 vfat 文件系统,指定普通用户可以挂载且文件系统可以读写,挂载时还允许执行文件,但不会自动挂载。

2.5 Backup Operation(dump 参数)

这是一个很少使用的字段,指定是否启用 dump 备份程序。通常为 01

  • 0:不备份该分区。
  • 1:允许 dump 备份。

2.6 Pass Order (fsck 参数)

准确来说,/etc/fstab 中的最后一列是 pass order,但是这个数字值是用来决定系统在启动时使用 fsck 工具检查文件系统的顺序。不同的发行版根分区/)与 /boot 分区默认的数字值是不同的

fsck 工具= File System Consistency Check (文件系统一致性检查) 工具

2.6.1 参数设置

该字段指定系统启动时是否检查文件系统的完整性以及检查的顺序:

  • 0:不检查该文件系统。通常对 swap 分区或远程挂载(如 NFS)使用。
  • 1:通常用于根分区( / ),表示启动时首先检查这个分区。
  • 2:一般用于对其他分区进行检查( /home/var 等),检查顺序可以根据需要设置。
  • 如果数字相同,则会按照文件中的出现顺序来进行检查。

例如:

# 示例
/dev/sda1   /boot           ext4    defaults        0  2

fsck 在系统启动时会检查 /boot 分区,但优先级低于根文件系统(/,其优先级为 1

2.6.2 不同发行版默认参数

不同发行版的版本以及不同的安装配置都会影响该参数。

发行版根分区 //boot/boot/efi是否默认启用 fsck 检查
CentOS/RHEL000否(不会自动检查)
Ubuntu/Debian121是(自动检查)
Arch Linux121是(自动检查)
Fedora120是(自动检查)
openSUSE120是(自动检查)
Gentoo120是(自动检查)

Ubuntu 为例,当系统启动时,fsck 会根据 fstab 中定义的 pass order 来决定哪些文件系统需要检查。系统会首先检查那些 pass order1 的分区,通常是根分区 /,然后再检查 pass order2 的其他分区。如果某个文件系统的 pass order 设置为 0,则它不会被检查。


/boot/boot/efi 区别:

  • /boot/efi 是专门为 UEFI 启动系统设计的目录,用于挂载 EFI 系统分区(ESP)。UEFI 是 BIOS 的继任者,提供了更现代的启动机制;通过 GPT(GUID 分区表) 启动,通常格式化为 vfat 文件系统。
  • /boot 用于传统较老的(BIOS、Legacy BIOS)启动系统设计的目录;通过 MBR(主引导记录) 引导。

2.6.3 设置为 0 的原因

  1. 启动时间优化:很多服务器或高可用系统要求尽量减少启动时间,fsck 在大分区或多个分区时检查时间较长,故一些发行版(如 CentOS/RHEL)会选择关闭自动检查。
  2. 管理员手动控制:某些场景下,系统管理员希望通过手动方式定期检查文件系统,而不是每次启动时依赖自动检查。因此选择将 pass order 设置为 0
  3. 现代文件系统的可靠性:现代文件系统(如 ext4xfs 等)已经非常稳定,不像早期的文件系统那样容易出错,因此有时并不需要频繁运行 fsck
  4. 大规模部署环境:在一些大规模服务器部署环境中(如使用 CentOS/RHEL 的数据中心),自动检查文件系统可能会导致系统不可预测的启动时间波动,因此关闭启动时的检查以避免系统长时间不可用。
  5. more…

3. 常见示例

接下来,通过一些常见的 /etc/fstab 配置示例,进一步展示如何为不同的分区或设备配置文件系统挂载。

3.1 常见的本地磁盘配置

UUID=2b4e9d04-29e9-xxx  /        ext4    defaults       0  1
UUID=550e8400-e29b-xxx  /home    ext4    defaults       0  2
/dev/sda5               none     swap    sw             0  0

这段配置代表了以下内容:

  • 根文件系统 / 挂载在 ext4 文件系统上,并设置为在系统启动时首先进行文件系统检查。
  • /home 挂载在单独的分区上,使用 ext4 文件系统。
  • 交换分区 swap 被定义但没有挂载点。

3.2 NFS 挂载

192.168.1.100:/shared /mnt/nfs  nfs  defaults  0 0

这是一个挂载网络文件系统的示例。它将远程服务器 192.168.1.100 上的 /shared 目录挂载到本地 /mnt/nfs

3.3 U 盘自动挂载配置

/dev/sdb1  /mnt/usb  vfat  noauto,user,exec,rw  0  0

这段配置表示将 U 盘挂载到 /mnt/usb,使用 vfat 文件系统,并且允许普通用户手动挂载、读写 U 盘,并执行其中的文件。

3.4 更多…

More And More ....

/etc/fstab 是一个重要的配置文件,它决定了系统的存储设备如何挂载以及如何管理文件系统。在实际使用中,正确配置 /etc/fstab 能够提升系统性能、简化存储管理,并确保系统启动时自动挂载关键分区。

凑个图,图文并茂,哈哈哈哈!

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/437043.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

智慧防灾,科技先行:EasyCVR平台助力地质灾害视频监测系统建设

随着科技的飞速发展&#xff0c;视频监控技术已成为地质灾害监测与预警的重要手段之一。在众多视频监控平台中&#xff0c;EasyCVR视频汇聚平台凭借其强大的视频整合、实时传输、视频处理及分发等能力&#xff0c;在地质灾害场景中展现出显著的应用优势。 一、实时监测与远程监…

【RabbitMQ——具体使用场景】

1. 异步 1.1 同步异步的问题&#xff08;串行&#xff09; 串行方式&#xff1a;将订单信息写入数据库成功后&#xff0c;发送注册邮件&#xff0c;再发送注册短信。以上三个任务全部完成后&#xff0c;返回给客户端 public void makeOrder(){// 1 :保存订单 orderService.…

SpringBoot上传图片实现本地存储以及实现直接上传阿里云OSS

一、本地上传 概念&#xff1a;将前端上传的文件保存到自己的电脑 作用&#xff1a;前端上传的文件到后端&#xff0c;后端存储的是一个临时文件&#xff0c;方法执行完毕会消失&#xff0c;把临时文件存储到本地硬盘中。 1、导入文件上传的依赖 <dependency><grou…

[uni-app]小兔鲜-04推荐+分类+详情

热门推荐 新建热门推荐组件, 动态设置组件的标题 <template><!-- 推荐专区 --><view class"panel hot"><view class"item" v-for"item in list" :key"item.id">... ...<navigator hover-class"none&…

C# HttpClient请求URL重定向后丢失Authorization认证头

搜查官方文档后发现&#xff1a; HttpWebRequest.AllowAutoRedirect Property (System.Net) | Microsoft Learn 微软提供的http类库HttpClient &#xff08;HttpWebRequest\WebClient已不推荐使用&#xff0c;用HttpClient代替&#xff09;有备注提醒&#xff1a;当使用自动重…

Android Button “No speakable text present” 问题解决

记录一个问题&#xff0c;今天让同学们做了个小车控制界面&#xff0c;使用Button控件&#xff0c;删除设置的text属性&#xff0c;会出现“No speakable text present”的错误&#xff0c;如图所示。这是由于Android的无障碍设置需要朗读Button的文本&#xff0c;如果没有设置…

基于elasticsearch存储船舶历史轨迹: 使用scroll滚动技术实现大数据量搜索

文章目录 引言I 轨迹索引的设计轨迹文档定时创建索引手动添加索引并为索引添加别名POST请求批量插入文档数据II 查询文档数据基于scroll滚动技术实现大数据量搜索查询轨迹查询参数返回dtoIII 知识扩展空指针处理术语介绍基于 search_after 实现深度分页引言 需求: 存储轨迹,…

免费 Oracle 各版本 离线帮助使用和介绍

文章目录 Oracle 各版本 离线帮助使用和介绍概要在线帮助下载离线文档包&#xff1a;解压离线文档&#xff1a;访问离线文档&#xff1a;导航使用&#xff1a;目录介绍Install and Upgrade&#xff08;安装和升级&#xff09;&#xff1a;Administration&#xff08;管理&#…

大数据毕业设计选题推荐-民族服饰数据分析系统-Python数据可视化-Hive-Hadoop-Spark

✨作者主页&#xff1a;IT研究室✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

sentinel原理源码分析系列(一)-总述

背景 微服务是目前java主流开发架构&#xff0c;微服务架构技术栈有&#xff0c;服务注册中心&#xff0c;网关&#xff0c;熔断限流&#xff0c;服务同学&#xff0c;配置中心等组件&#xff0c;其中&#xff0c;熔断限流主要3个功能特性&#xff0c;限流&#xff0c;熔断&…

[MAUI]数据绑定和MVVM:MVVM的属性验证

一、MVVM的属性验证案例 Toolkit.Mvvm框架中的ObservableValidator类,提供了属性验证功能,可以使用我们熟悉的验证特性对属性的值进行验证,并将错误属性提取和反馈给UI层。以下案例实现对UI层的姓名和年龄两个输入框,进行表单提交验证。实现效果如下所示 View<ContentP…

【Python】Django Grappelli:打造优雅且现代化的 Django 管理后台

在 Django 开发中&#xff0c;默认的 Django Admin 界面尽管功能强大且能满足大多数管理需求&#xff0c;但其界面设计相对基础&#xff0c;尤其在用户体验和视觉呈现上显得较为简约。在一些项目中&#xff0c;开发者可能需要更加现代化且美观的后台界面。这时&#xff0c;Djan…

【Redis】Redis中的 AOF(Append Only File)持久化机制

目录 1、AOF日志 2、AOF 的执行顺序与潜在风险 3、如何优化 AOF&#xff1f;&#xff08;写入策略&#xff09; 4、AOF重写机制&#xff08;防止日志文件无限增长&#xff09; 1、AOF日志 想象一下&#xff0c;Redis 每次执行写操作的时候&#xff0c;都把这些操作以追加的…

人工智能 | 手工测试用例转Web自动化测试生成

简介 在传统编写 Web 自动化测试用例的过程中&#xff0c;基本都是需要测试工程师&#xff0c;根据功能测试用例转换为自动化测试的用例。市面上自动生成 Web 或 App 自动化测试用例的产品无非也都是通过录制的方式&#xff0c;获取操作人的行为操作&#xff0c;从而记录测试用…

大语言模型入门(一)——大语言模型智能助手

一、大语言模型智能助手 2022年末ChatGPT一经推出&#xff0c;一时间不注册个账号用一下都跟不上潮流了。然而&#xff0c;我们要注册OpenAI的账号使用ChatGPT还是一件比较麻烦的事情&#xff08;懂的都懂&#xff09;。好在&#xff0c;国内各大团队非常给力地及时推出了自研的…

php 平滑重启 kill -SIGUSR2 <PID> pgrep命令查看进程号

有时候我们使用nginx 大家都知道平滑重启命令: /web/nginx/sbin/nginx -s reload 但大家对php-fpm 重启 可能就是简单暴力的kill 直接搞起了 下面介绍一个sh 文件名保存为start_php.sh 来对php-fpm 进行平滑重启 #!/bin/bash# 检查 PHP-FPM 是否运行 if ! pgrep php-…

yolov11模型在bdd100k数据集上的应用【代码+数据集+python环境+训练/应用GUI系统】

yolov8/9/10/11模型在bdd100k数据集上的应用【代码数据集python环境训练/应用GUI系统】 yolov8/9/10/11模型在bdd100k数据集上的应用【代码数据集python环境训练/应用GUI系统】 yolov8/9/10/11模型在bdd100k数据集上的应用【代码数据集python环境训练/应用GUI系统】 bdd100k数据…

<<迷雾>> 第5章 从逻辑学到逻辑电路(5)--异或门 示例电路

!ABA!B 的逻辑电路组成 info::操作说明 鼠标单击开关切换开合状态 注: 这个实际就是 异或门, 当两个输入相异时输出高电平, 否则输出低电平 primary::在线交互操作链接 https://cc.xiaogd.net/?startCircuitLinkhttps://book.xiaogd.net/cyjsjdmw-examples/assets/circuit/cyj…

厦门网站设计的用户体验优化策略

厦门网站设计的用户体验优化策略 在信息化快速发展的今天&#xff0c;网站作为企业与用户沟通的重要桥梁&#xff0c;用户体验&#xff08;UX&#xff09;的优化显得尤为重要。尤其是在交通便利、旅游资源丰富的厦门&#xff0c;吸引了大量企业进驻。在这样竞争激烈的环境中&am…

推荐一个可以把PDF样本册转换为翻页电子书的网站

​随着互联网的普及&#xff0c;越来越多的企业和个人开始意识到线上展览的重要性。如何将实体样本册转化为线上版本&#xff0c;让更多人了解和欣赏自己的产品与服务&#xff1f; 一、网站简介 这款PDF样本册免费上传网站名为“FLBOOK”&#xff0c;致力于为广大用户提供便捷…