zoukankan      html  css  js  c++  java
  • /etc/fstab文件

    #####################

    dump和fsck:

    1 根分区的dump、fsck分别为1、1
    
    2)/boot分区的dump、fsck分别为1、2
    
    3)其他分区的dump、fsck分别为0、0   用以专门读写数据,提高性能

    options选项:

    1)根分区和boot分区,一般均为defaults
    
    2)专用读写磁盘的分区,一般为defaults,noatime,nofail   
    
          noatime用以提高读写性能
        
    外部设备在插入时挂载,在未插入时忽略。这需要 nofail 选项,可以在启动时若设备不存在直接忽略它而不报错.

     案例:

    [work@10.10.10.10 ~]$ cat /etc/fstab
    
    #
    # /etc/fstab
    # Created by anaconda on Wed Nov 14 12:00:58 2018
    #
    # 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=24ddf831-6103-4114-a610-27a3948502db    /            ext4    defaults                1 1
    UUID=347fdc8c-d345-4086-8622-81a002ed387b    /boot        ext4    defaults                1 2
    UUID=182b000c-ebcf-438d-82ed-255ee76597ca    /home        ext4    defaults                0 0
    UUID=251827a1-331c-4a66-800b-7a5e7131b689    /home/work   ext4    defaults,noatime,nofail 0 0
    /home/work/swapfile                          swap         swap    defaults                0 0

     字段含义:

    字段定义
    /etc/fstab 文件包含了如下字段,通过空格或 Tab 分隔:
    
    <file system>    <dir>    <type>    <options>    <dump>    <pass>
    <file systems> - 要挂载的分区或存储设备.
    <dir> - <file systems>的挂载位置。
    <type> - 要挂载设备或是分区的文件系统类型,支持许多种不同的文件系统:ext2, ext3, ext4, reiserfs, xfs, jfs, smbfs, iso9660, vfat, ntfs, swap 及 auto。 设置成auto类型,mount 命令会猜测使用的文件系统类型,对 CDROM 和 DVD 等移动设备是非常有用的。
    <options> - 挂载时使用的参数,注意有些 参数是特定文件系统才有的。一些比较常用的参数有 (mount(8)):
    auto - 在启动时或键入了 mount -a 命令时自动挂载。
    noauto - 只在你的命令下被挂载。
    exec - 允许执行此分区的二进制文件。
    noexec - 不允许执行此文件系统上的二进制文件。
    ro - 以只读模式挂载文件系统。
    rw - 以读写模式挂载文件系统。
    user - 允许任意用户挂载此文件系统,若无显示定义,隐含启用 noexec, nosuid, nodev 参数。
    users - 允许所有 users 组中的用户挂载文件系统.
    nouser - 只能被 root 挂载。
    owner - 允许设备所有者挂载.
    sync - I/O 同步进行。
    async - I/O 异步进行。
    dev - 解析文件系统上的块特殊设备。
    nodev - 不解析文件系统上的块特殊设备。
    suid - 允许 suid 操作和设定 sgid 位。这一参数通常用于一些特殊任务,使一般用户运行程序时临时提升权限。
    nosuid - 禁止 suid 操作和设定 sgid 位。
    noatime - 不更新文件系统上 inode 访问记录,可以提升性能(参见 atime 参数)。
    nodiratime - 不更新文件系统上的目录 inode 访问记录,可以提升性能(参见 atime 参数)。
    relatime - 实时更新 inode access 记录。只有在记录中的访问时间早于当前访问才会被更新。(与 noatime 相似,但不会打断如 mutt 或其它程序探测文件在上次访问后是否被修改的进程。),可以提升性能(参见 atime 参数)。
    flush - vfat 的选项,更频繁的刷新数据,复制对话框或进度条在全部数据都写入后才消失。
    defaults - 使用文件系统的默认挂载参数,例如 ext4 的默认参数为:rw, suid, dev, exec, auto, nouser, async.
    <dump> dump 工具通过它决定何时作备份. dump 会检查其内容,并用数字来决定是否对这个文件系统进行备份。 允许的数字是 010 表示忽略, 1 则进行备份。大部分的用户是没有安装 dump 的 ,对他们而言 <dump> 应设为 0<pass> fsck 读取 <pass> 的数值来决定需要检查的文件系统的检查顺序。允许的数字是0, 1, 和2。 根目录应当获得最高的优先权 1, 其它所有需要被检查的设备设置为 2. 0 表示设备不会被 fsck 所检查。

     文件系统标识符:

    文件系统标识
    在 /etc/fstab配置文件中你可以以三种不同的方法表示文件系统:内核名称、UUID 或者 label。使用 UUID 或是 label 的好处在于它们与磁盘顺序无关。如果你在 BIOS 中改变了你的存储设备顺序,或是重新拔插了存储设备,或是因为一些 BIOS 可能会随机地改变存储设备的顺序,那么用 UUID 或是 label 来表示将更有效。参见 持久化块设备名称 。
    
    要显示分区的基本信息请运行:
    
    $ lsblk -f
    NAME   FSTYPE LABEL      UUID                                 MOUNTPOINT
    sda                                                         
    ├─sda1 ext4   Arch_Linux 978e3e81-8048-4ae1-8a06-aa727458e8ff /
    ├─sda2 ntfs   Windows    6C1093E61093B594                     
    └─sda3 ext4   Storage    f838b24e-3a66-4d02-86f4-a2e73e454336 /media/Storage
    sdb                                                           
    ├─sdb1 ntfs   Games      9E68F00568EFD9D3                     
    └─sdb2 ext4   Backup     14d50a6c-e083-42f2-b9c4-bc8bae38d274 /media/Backup
    sdc                                                           
    └─sdc1 vfat   Camera     47FA-4071                            /media/Camera
    内核名称
    你可以使用 fdisk -l 来获得内核名称,前缀是 dev.
    
    标签
    注意: 使用这一方法,每一个标签必须是唯一的.
    添加标签的工具和方法位于 这里。要显示所有设备的标签,可以使用 lsblk -f 命令。在 /etc/fstab 中使用 LABEL= 作为设备名的开头 :
    
    /etc/fstab
    # <file system>        <dir>         <type>    <options>             <dump> <pass>
    
    tmpfs                  /tmp          tmpfs     nodev,nosuid   0      0
     
    LABEL=Arch_Linux       /             ext4      defaults,noatime      0      1
    LABEL=Arch_Swap        none          swap      defaults              0      0
    UUID
    所有分区和设备都有唯一的 UUID。它们由文件系统生成工具 (mkfs.*) 在创建文件系统时生成。
    
    lsblk -f 命令将显示所有设备的 UUID 值。/etc/fstab 中使用 UUID= 前缀:
    
    /etc/fstab
    # <file system>                           <dir>         <type>    <options>             <dump> <pass>
    
    tmpfs                                     /tmp          tmpfs     nodev,nosuid          0      0
     
    UUID=24f28fc6-717e-4bcd-a5f7-32b959024e26 /     ext4              defaults,noatime      0      1
    UUID=03ec5dd3-45c0-4f95-a363-61ff321a09ff /home ext4              defaults,noatime      0      2
    UUID=4209c845-f495-4c43-8a03-5363dd433153 none  swap              defaults              0      0

    选项:

    第四列:挂载选项
    
    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。 一般用户没有特殊需求,直接使用defaults就可以了。看完介绍,我们再回过头去看看前面的示例内容,以光驱为例,主要关注挂载选项这里,可以看到,光驱和其他分区设备的不同是ro,因为普通光驱是只读的。而exec则让你可以从光驱上直接执行某些程序。 第五、六列:dump和fsck选项 Dump和fsck?这是什么东西?恩,dump是一个备份工具,而fsck是一个文件系统扫描检查工具。我不会在这里详细介绍它们,因为用man或者google都可以获得更加详细的信息。 fstab的第五列是表示dump选项,dump工具通过这个选项位置上的数字来决定文件系统是否需要备份。如果是0,dump就会被忽略,事实上,大多数的dump设置都是0。而第六列是fsck选项,fsck命令通过检测该字段来决定文件系统通过什么顺序来扫描检查,根文件系统/对应该字段的值应该为1,其他文件系统应该为2。若文件系统无需在启动时扫描检查,则设置该字段为0。

    #################

    igoodful@qq.com
  • 相关阅读:
    array and ram
    char as int
    pointer of 2d array and address
    Install SAP HANA EXPRESS on Google Cloud Platform
    Ubuntu remount hard drive
    Compile OpenSSL with Visual Studio 2019
    Install Jupyter notebook and tensorflow on Ubuntu 18.04
    Build OpenCV text(OCR) module on windows with Visual Studio 2019
    Reinstall VirtualBox 6.0 on Ubuntu 18.04
    Pitfall in std::vector<cv::Mat>
  • 原文地址:https://www.cnblogs.com/igoodful/p/15349180.html
Copyright © 2011-2022 走看看