Linux命令-自动挂载文件/etc/fstab功能详解[转]
一、/etc/fstab文件的作用
磁盘被手动挂载之后都必须把挂载信息写入/etc/fstab这个文件中,否则下次开机启动时仍然需要重新挂载。
系统开机时会主动读取/etc/fstab这个文件中的内容,根据文件里面的配置挂载磁盘。这样我们只需要将磁盘的挂载信息写入这个文件中我们就不需要每次开机启动之后手动进行挂载了。
二、挂载的限制
在说明这个文件的作用之前我想先强调一下挂载的限制。
1、根目录是必须挂载的,而且一定要先于其他mount point被挂载。因为mount是所有目录的跟目录,其他木有都是由根目录 /衍生出来的。
2、挂载点必须是已经存在的目录。
3、挂载点的指定可以任意,但必须遵守必要的系统目录架构原则
4、所有挂载点在同一时间只能被挂载一次
5、所有分区在同一时间只能挂在一次
6、若进行卸载,必须将工作目录退出挂载点(及其子目录)之外。
三、/etc/fstab文件中的参数
下面我们看看看/etc/fstab文件,这是我的linux环境中/etc/fstab文件中的内容
cat /etc/fstab 查看当前系统已经存在的挂载信息
在文件中我已经把每一列都做出来表示方便识别,我们可以看到一共有六列。
第一列:Device:磁盘设备文件或者该设备的Label或者UUID
1)查看分区的label和uuid
Label就是分区的标签,在最初安装系统时填写的挂载点就是标签的名字。可以通过查看一个分区的superblock中的信息找到UUID和Label name。
例如:我们要查看/dev/sda1这个设备的uuid和label name
dumpe2fs -h /dev/sda1
dumpe2fs 1.35 (28-Feb-2004)
Filesystem volume name: /boot //这个就是Label name
Last mounted on: <not available>
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
简单点的方式我们可以通过下面这个命令来查看
blkid
blkid /dev/vda1
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等默认参数的设置 |
0 |
代表不要做dump备份 |
1 |
代表要每天进行dump的操作 |
2 |
代表不定日期的进行dump操作 |
0 |
不要检验 |
1 |
最早检验(一般根目录会选择) |
2 |
1级别检验完成之后进行检验 |
原文地址:https://www.cnblogs.com/felix-h/p/11043214.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 项目中多个文件引入同一份公共样式less文件导致编译打包后有多份样式
- Angular rxjs Observable的异步行为
- Angular rxjs里自定义operator的使用
- tensorflow 生成指定大小的赋值0的张量 np.zeros 在TF中对应的语句 生成全0张量
- Angular rxjs fromEvent使用的一个例子
- 在StackBlitz上setup SAP Spartacus
- [898]python获取两个list交集|并集|差集
- [897]使用Maxwell实时同步mysql数据
- Magicodes.IE之导入导出筛选器
- 一文搞懂Flink生成StreamGraph
- 知识全聚集 .Net Core 技术突破 | 如何实现一个模块化方案一
- ESP8266和ROS调试一些问题汇总
- tianbot_mini机器人上手ROS/SLAM/Navigation究竟有多简单???
- 如何知道我们的E2E测试覆盖率?
- tf.add_n函数的用法