linux /etc/fstab文件参数求解释

Posted

tags:

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

UUID=cf474122-1d51-4953-846d-9ce1c8d23ae6 / ext4 defaults 1 1
UUID=ef21d494-0dc7-41ec-95b2-a691bfd4e57e /boot ext4 defaults 1 2
UUID=37d96494-45f8-42fb-91e1-ecea44c60309 /home ext4 defaults 1 2
UUID=d08b4700-3bb0-4971-bfbc-5729b79202f8 swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0

/etc/fstab是用来存放文件系统的静态信息的文件。位于/etc/目录下,可以用命令less /etc/fstab 来查看,如果要修改的话,则用命令 vi /etc/fstab 来修改。
当系统启动的时候,系统会自动地从这个文件读取信息,并且会自动将此文件中指定的文件系统挂载到指定的目录。下面我来介绍如何在此文件下填写信息。
在这个文件下,我们要关注的是它的六个域,分别为:<file system>、<mount point>、<type> 、<options>、<dump>、<pass>。下面将详细介绍这六个域的详细意义。
1、<fie sysytem>。这里用来指定你要挂载的文件系统的设备名称或块信息,也可以是远程的文件系统。做过嵌入式linux开发的朋友都可能知道 mount 192.168.1.56:/home/nfs /mnt/nfs/ -o nolock (可以是其他IP)命令所代表的意义。它的任务是把IP为192.168.1.56的远程主机上的/home/nfs/目录挂载到本机的/mnt/nfs /目录之下。如果要把它写进/etc/fstab文件中,file system这部分应填写为:/192.168.1.56:/home/nfs/。
如果想把本机上的某个设备(device)挂载上来,写法如:/dev/sda1、/dev/hda2或/dev/cdrom,其中,/dev/sda1 表示第一个串口硬盘的第一个分区,也可以是第一个SCSI硬盘的第一个分区,/dev/hda1表示第一个IDE硬盘的第一个分区,/dev/cdrom 表示光驱。
此外,还可以label(卷标)或UUID(Universally Unique Identifier全局唯一标识符)来表示。用label表示之前,先要e2label创建卷标,如:e2label /dir_1 /dir_2,其意思是说用/dir_2来表示/dir_1的名称。然后,再在/etc/fstab下按如下形式添加:LABEL=/dir_2 /dir_2 <type> <options> <dump> <pass>。重启后,系统就会将/dir_1挂载到/dir_2目录上。对于UUID,可以用blkid -o value -s UUID /dev/sdxx来获取。比如我想挂载第一块硬盘的第十一个分区,先用命令blkid -o value -s UUID /dev/sda11 来取得UUID,比如是:5dc08a62-3472-471b-9ef5-0a91e5e2c126,然后在<file system>这个域上填写: UUID=5dc08a62-3472-471b-9ef5-0a91e5e2c126,即可表示/dev/sda11。Red Hat linux 一般会使用label,而Ubuntu linux 一般会用UUID。
2、<mount point>。挂载点,也就是自己找一个或创建一个dir(目录),然后把文件系统<fie sysytem>挂到这个目录上,然后就可以从这个目录中访问要挂载文件系统。对于swap分区,这个域应该填写:none,表示没有挂载点。
3、<type>。这里用来指定文件系统的类型。下面的文件系统都是目前Linux所能支持的:adfs、befs、cifs、ext3、 ext2、ext、iso9660、kafs、minix、msdos、vfat、umsdos、proc、reiserfs、swap、 squashfs、nfs、hpfs、ncpfs、ntfs、affs、ufs。
4、<options>。这里用来填写设置选项,各个选项用逗号隔开。由于选项非常多,而这里篇幅有限,所以不再作详细介绍,如需了解,请用命令 man mount 来查看。但在这里有个非常重要的关键字需要了解一下:defaults,它代表包含了选项rw,suid,dev,exec,auto,nouser和 async。
5、<dump>。此处为1的话,表示要将整个<fie sysytem>里的内容备份;为0的话,表示不备份。现在很少用到dump这个工具,在这里一般选0。
6、<pass>。这里用来指定如何使用fsck来检查硬盘。如果这里填0,则不检查;挂载点为 / 的(即根分区),必须在这里填写1,其他的都不能填写1。如果有分区填写大于1的话,则在检查完根分区后,接着按填写的数字从小到大依次检查下去。同数字的同时检查。比如第一和第二个分区填写2,第三和第四个分区填写3,则系统在检查完根分区后,接着同时检查第一和第二个分区,然后再同时检查第三和第四个分区。
参考技术A UUID码全称是通用唯一识别码 (Universally Unique Identifier, UUID),它 是一个软件建构的标准,亦为自由软件基金会 (Open Software Foundation, OSF) 的组织在分布式计算环境 (Distributed Computing Environment, DCE) 领域的一部份。

UUID 的目的,是让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。如此一来,每个人都可以创建不与其它人冲突的 UUID。在这样的情况下,就不需考虑数据库创建时的名称重复问题。它会让网络任何一台计算机所生成的uuid码,都是互联网整个服务器网络中唯一的。它的原信息会加入硬件,时间,机器当前运行信息等等。

UUID格式是:包含32个16进位数字,以“-”连接号分为五段,形式为8-4-4-4-12的32个字符。范例;550e8400-e29b-41d4-a716-446655440000 ,所以:UUID理论上的总数为216 x 8=2128,约等于3.4 x 1038。 也就是说若每奈秒产生1兆个UUID,要花100亿年才会将所有UUID用完。

ext4 是文件系统名称,之前是 EXT3 。

devpts ,devpts ,sysfs,proc 这些都是文件系统名,/dev/shm, /dev/pts, /sys, /proc 这些都是相应的挂载点。

最后一列是挂在选项。本回答被提问者采纳
参考技术B 第一字段:设备名称,也可以使用设备的标签名(用label=的形式标出)对磁盘分区进行格式化时可设置其标签,也可使用e2label命令设置标签;
第二字段:设置挂载点;
第三字段:设置文件系统的类型;(tmpfs是一种基于内存的文件系统,它和虚拟磁盘(ramdisk)比较像,但不一样。proc 文件系统表示 process information pseudo文件系统,内核用它来提供系统状态信息。sysfs可以看成与proc,devfs和devptys同类别的文件系统,该文件系统是虚拟的文件系统,可以更方便对系统设备进行管理

第四字段:挂载参数,即mount命令“-o”选项后可使用的参数,如defaults、rw、suid、dev、exec、auto、nouser、async等选项的组合;
第五字段:表示文件系统是否需要dump备份(dump是一个备份工具),一般设为1时表示需要,设为0时将被dump所忽略,通常根分区要备份;
第六字段:该数字用于决定在系统启动时进行磁盘检查的顺序,该字段被fsck命令用来决定在启动时需要被扫描的文件系统的顺序,0不进行检查,根文件系统”/”为1优先,2其次。对于根分区应设为1,其它分区设为2
参考技术C 前面的如楼上所说,defaults表示以默认方式挂载,一般是-rw,即读写方式。
第5区,表示该文件系统是否需要被dumped,0表示不需要。
第6区,表示该文件系统在fsck或者启动检查文件系统时的检查顺序。0表示不需要检查。
你可以去man fstab,查看详细的解释。
参考技术D 共六列
分别是:
设备,可以是设备名称、UUID等
挂载点,设备挂载使用时的挂载点目录
文件系统类型,如ext3、ext4、swap等
挂载选项
备份选项,dump
文件系统检查,fsck

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)查看分区的labeluuid

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

    例如:我们要查看/dev/sda1这个设备的uuidlabel 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)使用设备名和labeluuid作为标识的不同

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

不过使用label挂载就不用担心插槽顺序方面的问题。不过要随时注意你的Label name。至于UUID,每个分区被格式化以后都会有一个UUID作为唯一的标识号。使用uuid挂载的话就不用担心会发生错乱的问题了。

第二列:Mount point:设备的挂载点,就是你要挂载到哪个目录下。

 

第三列:filesystem:磁盘文件系统的格式,包括ext2ext3reiserfsnfsvfat

 

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

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

Linux中在/etc/fstab文件中,noauto参数的作用是?

Linux初学者求助,更改/etc/fstab后仍无法自动挂载

linux 多路径软件在/dev/mapper/下生成的硬盘 可以通过修改/etc/fstab 挂载么 ?

请教如何修改Linux的/etc/fstab使U盘自己挂载?

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

linux /etc/fstab文件参数求解释