/etc/fstab - 磁盘挂载

        1./etc/fstab中存放文件系统的静态信息的文件。用less /etc/fstab查看。系统启动时会自动从其中读取信息,并将此文件中指定的文件系统挂载到指定的目录。



        2.内容格式:<file system>  <dir>  <type>  <options>  <dump>  <pass>,字段通过空格或 Tab 分隔。

                ①. <file systems>:要挂载的分区或存储设备

                ②. <dir>:<file systems>的挂载位置。

                ③. <type>:要挂载的设备或分区的文件系统类型 (ext2 / ext3 / ext4 / reiserfs / xfs / jfs / smbfs / iso9660 / vfat / ntfs / swap / auto)。如果是auto,mount 命令会猜测使用的文件系统类型,对 CDROM 和 DVD 等移动设备是非常有用的。

                ④. <options>:挂载所带参数。有些mount参数专属于特定的文件系统:

                        auto:在启动时或键入了 mount,-a 命令时自动挂载。

                        noauto:只在你的命令下被挂载。

                        exec:允许执行此分区的二进制文件。

                        noexec:不允许执行此文件系统上的二进制文件。

                        ro/rw:以(只读/读写)模式挂载文件系统。

                        umask:设置目录和文件的权限过滤。

                        fmask/dmask:设置(文件/目录)的权限过滤。它们是mount的选项,针对fat/ntfs文件系统,适用于fstab配置(linux的/etc/fstab 文件,Android中没有)。其值为掩码,即二进制屏蔽。想得到权限5,必须设置掩码为2(7&(!(1<<1)))。

                        user:允许任意用户挂载此文件系统。若无显示定义,隐含启用 noexec, nosuid, nodev 参数。

                        users:允许所有 users 组中的用户挂载文件系统.

                        nouser:只能被 root 挂载。

                        owner:允许设备所有者挂载.

                        sync/async:I/O (同步/异步)进行。

                        dev/nodev:(解析/ 不解析)文件系统上的块特殊设备。

                        suid/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 会检查其内容,用数字决定是否对这个文件系统备份。0 忽略, 1 则备份。大部分用户没有安装 dump ,<dump> 应设为 0。

                ⑥. <pass>:fsck 通过<pass> 的值决定需要检查的文件系统的检查顺序。0 表示设备不会被 fsck 检查。 根目录应当获得最高的优先权 1。其它所有需要被检查的设备设置为 2。



        3.文件系统标识。<file systems>有三种表现方式:内核名称、UUID 或者 label。UUID 或label 与磁盘顺序无关。

                ①. 内核名称:通过 fdisk -l 。前缀是 dev 的设备。

                ②. label标签:通过 lsblk -f 。每一个标签必须唯一。在 /etc/fstab 中使用 LABEL=xxx  。

                ③. UUID:通过 lsblk -f 。每个分区和设备的 UUID 唯一。它们由文件系统生成工具 (mkfs.*) 在创建文件系统时生成。在 /etc/fstab 中使用 UUID=xxx  。



        4.使用时挂载:

                ①. 把参数(noauto,x-systemd.automount)添加到 /etc/fstab 文件中 /home项目的参数部分,令 /home 分区只有需要访问时才会被挂载。内核缓存所有的文件操作,直到 /home 分区准备完成。 /home 的文件系统类型此时被识别为 autofs, mlocate 查询时忽略该目录。实际加速效果因配置而异。同理,用时挂载远程文件系统,也可以添加上述参数。

                ②. 设置超时时间(x-systemd.device-timeout=# 参数),以防止网络资源不能访问的时候浪费时间。

                ③. 如果是加密文件系统需要密钥,需要添加 noauto 参数到 /etc/crypttab 文件中的对应位置,令systemd 开机时不打开加密设备,直到设备被访问时再使用密钥文件挂载(data /dev/md0 /root/key noauto)。比如在使用加密RAID设备时可以节省时间,因为 systemd 不必等到设备可用后才能访问。



        5.交换分区的UUID。如果 lsblk -f 查看不到交换分区的 UUID,可以手动加入:

                ①. 确定交换分区:swapon -s  

                ②. 禁用交换分区:swapoff/dev/sdxxx  

                ③. 用新UUID 重新创建交换分区:mkswap -U random/dev/sdxxx  

                ④. 激活交换分区:swapon /dev/sdxxx  



        6.路径中有空格。用 "\040" 转义字符来表示空格(以三位八进制数来进行表示)。(hello\040world)

        7.外部设备在插入时挂载,在未插入时忽略。使用 nofail 选项,启动时若设备不存在直接忽略它而不报错。( /dev/sdxxx   /dir1/dir2 ext4 defaults,nofail 0 0)

        8.用 noatime / nodiratime / relatime 提升 ext2 / ext3 / ext4 格式磁盘的性能。Linux 默认使用atime选项,每次在磁盘上 读/写 数据时会产生一个记录。这是为服务器设计的,在桌面使用中意义不大。atime 选项最大问题在于即使从页面缓存读取文件(从内存而不是磁盘读取),也会产生磁盘写操作。

                ①. noatime:阻止读文件时的写操作。少数程序如 Mutt需要这些信息。noatime 包含 nodiratime。不需要同时指定。

                ②. relatime:文件被修改时产生文件访问时间写操作。Mutt 的用户使用。仅对目录禁用了文件访问时间。

        9.临时文件系统tmpfs。它驻留于交换分区或内存中(取决于使用情况)来提高文件访问速度,重启时自动清除这些文件。经常使用 tmpfs 的目录有 /tmp、/var/lock、/var/run,但不能用于 /var/tmp(重启过程中 /var/tmp 中的临时文件需要被保留)。使用目录 /run、/var/run、/var/lock 是为了兼容老版本建立的链接。默认 /etc/fstab中的的/tmp也是tmpfs。 tmpfs 分区大小默认为内存总大小的一半。实际中内存和 swap 的使用情况会有不同,而 tmpfs 分区在其真正使用前是不会占用存储空间的。将 /tmp 放到 tmpfs,需要将代码(tmpfs /tmp tmpfs nodev,nosuid,size=2G 0 0)加入 /etc/fstab,,size缺省时大小为一半内存。可以指定大小,但不要修改 mode 选项,以保证文件具有正确的访问权限(1777)。

        10.为用户添加 tmpfs 挂载的示例(tmpfs /www/cache tmpfsrw,size=1G,nr_inodes=5k,noexec,nodev,nosuid,uid=648,gid=648,mode=1700 0 0),重启生效。不要直接执行 mount -a,否则可能导致无法访问当前目录中的文件(比如你应该保证 lockfiles 的正常存在)。如果它们都是空的,则可直接执行 mount -a 而不必重启电脑。这对于网站、mysql 临时文件, ~/.vim/, 和其他情况很有用。尝试并获得理想的挂载选项来完成目标是很重要的。目标是尽量采用安全的策略来防止滥用。限制大小,同时指定 uid 和 gid 加上 mode 是非常安全的。应用更改后,通过 findmnt 检查是否生效(findmnt --target/tmp)。

TARGET SOURCE FSTYPE OPTIONS

/tmp tmpfs  tmpfs  rw,nosuid,nodev,relatime

        11.一半需要大量读写操作的程序会用 tmpfs 提升性能。有些程序把共享内存放到 tmpfs 上时性能会大幅提升,例如将 Firefox Profile 文件夹放到内存后,Firefox 性能大幅提升。tmpfs 目录(/tmp) 挂载时需要去掉 noexec 参数,否则有些编译程序无法执行。

        12.命令(BUILDDIR=/tmp/makepkg makepkg)可让 makepkg 在 tmpfs 目录进行编辑,也可在 /etc/makepkg.conf 中设置。



        13.一个例子:使普通用户读写fat32,修改/etc/fstab文件。(/dev/sdxxx /mnt/some_folder vfat user,rw,umask=000 0 0)。“users”表示任何用户(甚至非 root 用户)都可以挂载或卸载分区 '/dev/sdxxx'。“rw”分配读写的使用权。umask 是权限掩码命令。umask=000 指任何人没有特权,且权限为777,即所有人都可以读、写、执行。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,590评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,808评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,151评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,779评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,773评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,656评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,022评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,678评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,038评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,756评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,411评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,005评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,973评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,053评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,495评论 2 343

推荐阅读更多精彩内容