浏览器保存插件
【转帖】主流显卡H265、VP9硬件解码支持情况 - 知乎
Caddy – 方便够用的 HTTPS server 新手教程_weixin_34279184的博客-CSDN博客
亂數假文產生器 - Chinese Lorem Ipsum
Caddy实战- CSDN搜索
【如何优雅地写博客】利用h5ai自建一个视频床!
【如何优雅地写博客】自建一个永不裂开的图床!
小爱同学网络唤醒(Wake on Lan,WOL)启动电脑 - 知乎
安全的内网穿透保姆级教程,使用nginx反向代理给内网设备实现双向ssl认证,阻止无证书用户暴力破解nas|网卡|主机|内网穿透_新浪新闻
解决BCM94360CD 4天线,在windows10下蓝牙耳机断断续续问题
内网穿透 篇三:安全的内网穿透保姆级教程,使用nginx反向代理给内网设备实现双向ssl认证,阻止无证书用户暴力破解nas_NAS存储_什么值得买
5分钟了解游戏加速器的原理与搭建 - 知乎
解决BCM94360CD 4天线,在windows10下蓝牙耳机断断续续问题 | 粘贴怪
# PS2 重装机兵 沙尘之锁攻略
前线任务4攻略上
前线任务4攻略下
前线任务4系统详解
前线任务5详细流程攻略
Potplayer + LAVFilters + madVR 配置教程
linux 启动服务后台运行,linux后台启动任务
openwrt管理后台使用caddy代替uhttpd
编译caddy替代openwrt的uhttpd
如何获取Bing每日图片并作为网站背景图使用?
Bing每日壁纸API
一分钟自建zerotier-plant
zerotier的planet服务器(根服务器)的搭建踩坑记。无需zerotier官网账号
anylink
在 Linux 系统下使用迅雷远程离线下载
docker修改Docker容器启动配置参数
opkg 全部更新
甲骨文云 开户root,防火墙
UNRAID增加和缩小虚拟机虚拟磁盘大小
cm311-1a有2个IP的原因
榨干性能!魔百和CM311-1a KVM Openwrt& Docker安装以及Tailscale内网穿透保姆级教程_NAS存储_什么值得买
openwrt tailscale
UNRAID增加和缩小虚拟机虚拟磁盘大小
详解OpenWrt路由器设置Crontab定时检查网络并重启
Debian如何更换apt源
debian11 配置samba服务 linuxsys
debian11 配置samba服务
Debian 部署安装 Clash
防止甲骨文永久免费的计算实例被回收
怎么查看docker启动参数
Docker中Jellyfin开启硬件加速(Intel QuickSync)
Ext4文件系统修复
armbian显示系统信息的脚本-斐讯无线路由器以及其它斐迅网络设备-恩山无线论坛 - Powered by Discuz!
armbian显示系统信息的脚本
Linux 让终端走代理的几种方法
网站推荐
通过KMS方式激活 Windows 11 系统
各种显卡H265/HEVC/VP9/AV1格式4K和8K视频硬解码支持列表
unraid安装clash 及启用http代理_NAS存储_什么值得买
常见软路由/NAS/低功耗处理器对比 2020.12
1130-白嫖者联盟
Debian-Linux配置网卡网络方法
光猫桥接模式下,通过路由器访问光猫.简单设置
Docker一键脚本安装脚本(可选安装Docker Compose)
tgapi推送教程
UNRAID 使用自定义证书教程
只有 3MB 的自签名证书制作 Docker 工具镜像:Certs Maker
如何制作和使用自签名证书
通过Nginx Proxy Manager反代访问unraid管理页面
unRAID 篇十:unRAID 6.10.3远程管理并开启SSL访问_软件应用_什么值得买
unRAID 篇十一:unRAID 篇十:unRAID 6.10.3远程管理并开启SSL访问-填坑_软件应用_什么值得买
入正 Unraid ! 6.10 更新了什么?证书如何配置?
NAS那些事儿 篇一:纯IPV4访问纯IPV6且内网穿透_NAS存储_什么值得买
甲骨文Oracle取消强制修改密码
用uci配置openwrt防火墙
捡垃圾 篇八:花30元实现你的平价sonos——音响升级DLAN和Airplay,附上平价音响推荐_蓝牙音箱_什么值得买
3 分钟教你解锁 Sonos 和小爱等智能音箱的 AirPlay 功能_软件
CentOS7、ubuntu正确挂载网络磁盘方法
全网首发,没有比这更快的视频下载方法!
黑苹果硬件配置推荐,铭瑄MS-挑战者 H510ITX主板,安装真的很简单
黑苹果硬件配置推荐,铭瑄MS-挑战者H510ITX主板,安装真的很简单
openwrt 一键更新所有软件 opkg upgrade all packages
黑猴子的家:华为 OpenEuler(欧拉) Linux 之基本配置 - openEuler-20.03-LTS
免费翻墙,批量vless节点,反代伪装网页,轻松跑满本地宽带
小米(Mi) 6小米(Mi) 6 手机刷 TWRP 方法,刷三方Recovery方法(解决卡米问题)刷机解锁
debian12版本默认SSH不让ROOT账户远程登录解决方案(重置密码)
Debian安装Oh-my-zsh
【转发】zsh中 配置显示完整路径
如何在Linux系统中查看CPU温度
Fedora 启动 SSH服务 - 学海无涯1999 - 博客园
Bash命令行显示当前用户的完整路径
使用YUM安装docker
Linux 中的 ls 命令使用教程
Linux系统资源监控工具(top,htop,glances)
UNraid安装HomeAssistant与智能家庭部署_智能家居_什么值得买
Home Assistant如何安装配置HACS(hacs安装配置图文教程)
Homeassistant安装HACS_china(HACS)和ha_file_explorer(文件管理器) - kccic - 博客园
zsh 环境变量无法正常工作ShellClash
LInux远程文件传输效率工具:lrzsz
Windows 上的 Linux 子系统:WSL
Docker 无法启动 Failed to start LSB: Create lightweight, portable, self-sufficient containers.
一键安装docker(命令)
xiaoya全家桶系列教程:原版小雅、alist-tvbox、小雅-emby
Oracle OCI甲骨文云VPS启用原生IPv6
systemctl配置管理文件详解
Linux系统服务神器:systemctl的配置与使用 - 掘金
使用 oh-my-zsh 找不到 shellclash
ps2022总是提示需要访问钥匙串秘钥怎么解决?
在 macOS 中使用 Parallels Desktop 虚拟机安装 OpenWrt | Sukka's Blog
HP t430 Q&A
折腾 HP T430 Thin Client
惠普HP t430安装openwrt,配置旁路由,附跑分
联通GPON/4+1+WiFi(2.4G)TEWA-800G配置桥接模式
Ubuntu挂载Apfs文件系统磁盘(OSX分区) - 小家猫 - 博客园
unRAID虚拟机添加声卡_unraid虚拟机安装虚拟声卡-CSDN博客
docker 限制网速
jellyfin 代理
使用Cloudflare Worker代理Telegram Bot Api(2023.05)
Cloudflare + Backblaze私有桶 实现免费的图床 | king
MacOS 14 Sonoma 英特无线网卡无法检测更新及在线升级失败解决方案 - 黑果之家
惠普HP t430安装openwrt,配置旁路由,
小雅Alist定时清理缓存 - xyztank - 博客园
Unraid中安装小雅Alist、Emby全家桶
(图文)jellyfin如何重置账户密码的详细教程
【2023-10-24】【R4S】 (RK3399) jellyfin 硬解4K H.265 视频-OPENWRT专版-恩山无线论坛
从已运行容器获取docker run参数
armbian 一键换源
dts — rk3399.dtsi
samba搭建记录
docker限制容器下载速度
好好学Docker:Docker容器网络限速
记录一次Unraid开心版升级 | 一个无人问津的小站
manjaro软件包管理器pacman介绍,并于centOS7yum类比
当Mac文件被永久锁定后,如:hosts文件无法修改被锁定且无法解锁
switch《塞尔达传说王国之泪》1.21含60帧多功能mod
命令提示符、Powershell、CMD闪退问题的解决
批量更新 OpenWRT 软件包
ROS7.8 L6授权 MikroTik_RouterOS7.8 _UEFI_ESXI+PVE+unRaid_i225_i226
联通吉比特TEWA-800G超级管理员密码获取
systemd时代的/etc/fstab - Systemd系列文章
armbian插入磁盘自动挂载及docker安装
开发板linux自动挂载U盘和SD卡/Automount usb disk and sdcard on the linux
udev自动挂载和命名
使用Cloudflare Worker代理Telegram Bot Api
RK3588在Armbian上运行PIKVM
穷人的IP-KVM远程访问
禁用Intel ME
sunshine 基地版串流食用指南
Docker版本的Transmission更换webui为 transmission-web-control
WOL 网络唤醒避坑指南:常见问题的分析与内容补充_软件应用_什么值得买
Win11 设置 Syncthing 开机自启动
imlala/ubuntu-xfce-vnc-novnc
NAS用户必备!170 多个好玩的,好用的docker容器_NAS存储_什么值得买
通过Redroid搭建自己的云手机
基于 Telegraph 的免费图床 - 摸鱼派 - 白与画科技
Webmin--一个用于Linux基于Web的系统管理工具
CMWTAT_Digital_Edition/README.zh.md at master · TGSAN/CMWTAT_Digital_Edition
❤️🔥电视盒子助手Docker版使用摘要-悟空的日常
Update LineageOS on Xiaomi Mi 6
一加七Pro刷lineageos21(kernelsu+gapps)
Install LineageOS on Xiaomi Mi 6
Android刷機常見的GApps套件 (Google服務框架) 比較,OpenGApps、NikGApps、MindTheGApps、microG · Ivon的部落格
r08 armbian固件喇叭播放 - LaJiLao.Top
Docker 命令大全 | 菜鸟教程
本文档使用 MrDoc 发布
-
+
首页
systemd时代的/etc/fstab - Systemd系列文章
/etc/fstab文件用于指定在开机时自动挂载的分区、文件系统、远程文件系统或块设备,以及它们的挂载方式。此外,执行`mount -a`操作也可以重新挂载/etc/fstab中的所有挂载项。 通用格式大致如下: ``` # <device> <dir> <type> <options> <dump> <fsck> /dev/sda1 /boot vfat defaults 0 0 /dev/sda2 / ext4 defaults 0 0 /dev/sda3 /home ext4 defaults 0 0 /dev/sda4 none swap defaults 0 0 ``` 使用systemd系统时,systemd接管了挂载/etc/fstab的任务。在系统启动的时候,systemd会读取/etc/fstab文件并通过`systemd-fstab-generator`工具将该文件转换为systemd unit来执行,从而完成挂载任务。 systemd扩展了fstab文件的定义方式,在/etc/fstab中可使用由systemd.mount提供的挂载选项,这些选项大多以`x-systemd`为前缀(并非所有选项都如此),合理使用这些systemd提供的选项,可以完美地解决以前使用/etc/fstab时一些痛点。 比如,systemd.mount可以让那些要求在网络可用时的文件系统在网络已经可用的情况下才去挂载,还可以定义等待网络可用的超时时间,从而避免在开机过程中长时间卡住。 再比如,systemd可以让某个挂载项自动开始挂载和自动卸载,而不是在开机时挂载后永久挂载在后台。 ### [/etc/fstab文件格式回顾](#etcfstab文件格式回顾) 以如下内容为例: ``` # <device> <dir> <type> <options> <dump> <fsck> /dev/sda1 /boot vfat defaults 0 0 /dev/sda2 / ext4 defaults 0 0 /dev/sda3 /home ext4 defaults 0 0 /dev/sda4 none swap defaults 0 0 ``` 其中:  需要注意,如果第一列或第二列的值包含了空格,则空格使用`\040`代替。例如: ``` PARTLABEL=EFI\040SYSTEM\040PARTITION /boot vfat defaults 0 0 ``` ### [第一列:挂载项标识符](#第一列挂载项标识符) /etc/fstab的第一列是挂载项的标识符,用于标识哪个设备需要被挂载。 /etc/fstab支持多种标识符类型: - 内核识别的名称,即/dev/xxx - 如/dev/sda1、/dev/mapper/centos-root - 需注意,强烈建议不要在/etc/fstab中使用这种标识符,因为如果有多个(SATA/SCSI/IDE)设备时,每次系统启动都能可能导致设备名称改变。但如果是lvm设备,它的设备名是持久不变的,所以安全 - 文件系统LABEL:使用时需加前缀`LABEL=`,可`lsblk -f`或blkid查看设备对应的LABEL。如: ``` LABEL=EFI /boot vfat defaults 0 0 ``` - 文件系统UUID:使用时需加前缀`UUID=`,可`lsblk -f`或blkid查看对应设备的UUID,如: ``` UUID=0a3407de-xxxx-848e92a327a3 / ext4 defaults 0 0 ``` - GPT分区LABEL:使用时需加前缀`PARTLABEL=`,可使用blkid查看PARTLABEL,如: ``` PARTLABEL=EFI\040SYSTEM\040PARTITION /boot vfat defaults 0 0 PARTLABEL=GNU/LINUX / ext4 defaults 0 0 PARTLABEL=HOME /home ext4 defaults 0 0 ``` - GPT UUID:使用时需加前缀`PARTUUID=`,可使用blkid查看PARTUUID,如: ``` PARTUUID=98a81274-xxxx-03df048df366 / ext4 defaults 0 0 ``` 除了第一种标识方式外,其余四种标识方式以及LVM的标识符都是持久不变的,所以都可以安全地在/etc/fstab中使用。 ### [第四列:systemd提供的一些有用的挂载技巧](#第四列systemd提供的一些有用的挂载技巧) systemd提供了一些以`x-systemd`为前缀的挂载选项,还提供了`auto noauto nofail _netdev`这四个选项。 - `auto、noauto`:auto表示开机自动挂载,noauto表示开机不自动挂载(且`mount -a`也不自动挂载该挂载项),但如果本挂载项被其它Unit一来,则noauto时仍然会被挂载 - `nofail`:开机时,不在乎也不等待本挂载项,即使本挂载项在开机时挂载失败也无所谓 - `_netdev`:通常mount可以根据指定的文件系统类型来推测是否是网络设备,如果是网络设备,则自动安排在网络可用之后执行挂载操作,但某些时候无法推测,比如ISCSI这类依赖于网络的块设备,使用该选项可以直接告知mount这是一个网络设备 更多挂载选项参考`man systemd.mount`。 #### [延迟到第一次访问时自动挂载](#延迟到第一次访问时自动挂载) 例如,对于一些本地文件系统,可以将挂载选项设置为: ``` noauto,x-systemd.automount ``` `noauto`表示开机时不要自动挂载,`x-systemd.automount`表示在第一次对该文件系统进行访问时自动挂载。 内核会将从触发自动挂载到挂载成功期间所有对该设备的访问缓冲下来,当挂载成功后再去访问该设备。 #### [自动卸载设备](#自动卸载设备) ``` noauto,x-systemd.automount,x-systemd.idle-timeout=1min ``` 这表示systemd如果发现该设备在1分钟内都处于idle状态,将自动卸载它。默认单位为秒,支持的单位有`s, min, h, ms`,设置为0表示永不超时。 #### [设置远程网络设备挂载超时时长](#设置远程网络设备挂载超时时长) 挂载网络设备时可能会因为各种原因而长时间等待,可设置`x-systemd.mount-timeout`选项。如: ``` noauto,x-systemd.automount,x-systemd.mount-timeout=30,_netdev ``` `x-systemd.mount-timeout=30`表示systemd最多等待该设备在30秒内挂载成功。默认单位为秒,支持的单位有`s, min, h, ms`,设置为0表示永不超时。 #### [存在则挂载,不存在则忽略](#存在则挂载不存在则忽略) 使用`nofaile`挂载选项,在挂载失败时(比如设备不存在)直接跳过。 ``` nofail,x-systemd.device-timeout=1ms ``` `nofail`通常会结合`x-systemd.device-timeout`一起使用,表示等待该设备多长时间才认为可用于挂载(即判断该设备可执行挂载操作),默认等待90s,这意味着如果结合`nofail`时,如果挂载的设备不存在,将会卡顿90s。默认单位为秒,支持的单位有`s, min, h, ms`,设置为0表示永不超时。 注意区分`x-systemd.device-timeout`和`x-systemd.mount-timeout`:  #### [关于atime的挂载选项](#关于atime的挂载选项) 读、写文件都会更改atime信息,但很多时候atime这项信息是无关紧要的,它仅表示文件最近一次是何时访问的,只有那些需要实时了解atime信息的程序才在意atime是否更新。 因为atime信息保存在文件系统的inode中,所以每次更新atime都会去访问磁盘,而访问磁盘的效率是非常低的。比如对于机械硬盘来说,频繁更新atime将导致大量磁盘寻道。 如果可以放弃维护atime的读更新,将减少额外的磁盘访问,可大幅提升性能。 挂载文件系统时,可以通过atime相关的挂载选项控制如何更新atime,从而在文件系统层次保证不会因为频繁更新atime而降低文件系统性能。 atime相关挂载选项有: - `strictatime`:每次访问文件时都更新文件的atime,显然这会严重降低文件系统性能 - `noatime`:在读文件时,禁止更新atime。写文件时,会自动将atime信息更新到inode中 - `nodiratime`:读文件时不更新所在目录的atime - 使用`noatime`时将隐含`nodiratime`,所以无需同时指定这两项 - `relatime`:读文件时,如果该文件目前的atime信息早于mtime/ctime(这意味着修改过内容但没有更新atime),则更新atime,且如果本次读文件时发现目前的atime距离现在已经超过24小时,则也立即更新atime - 当使用`defaults`挂载选项时,默认将使用relatime选项。defaults挂载选项表示使用内核的默认值,而内核中对atime的更新行为默认是relatime - `lazytime`:这是Kernel 4.0才支持的atime更新策略,该选项表示只在内存中维护inode中的atime/mtime和ctime信息,当遇到如下情况时才将inode中的时间戳更新到磁盘上: - (1).当inode中和时间戳无关的信息需要更新时(比如文件大小、文件权限),会顺便把时间戳信息也更新到磁盘(因为会更新整个inode) - (2).发生sync类操作时 - (3).从内存中驱逐未被删除的inode时 - (4).内存中的atime距离现在已经超出24小时 `lazytime`不是独立使用的选项,它可以结合前面的几种atime更新选项,默认它结合的是`relatime`。但即使它结合的是`strictatime`,所能达到的性能也至少是单个`relatime`选项所能达到的性能。
bigood
2024年9月29日 03:46
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码