资讯动态

Linux quotacheck 命令详解:扫描文件系统并创建磁盘配额(quota)数据文件

发布时间:2026/10/2 18:23:16 来源:尧图企业网站定制
文档教程【免费下载链接】linux-commandLinux命令大全搜索工具内容包含Linux命令手册、详解、学习、搜集。https://git.io/linux项目地址https://gitcode.com/GitHub_Trending/linux/linux-command点击查看免费下载导读quotacheck是 Linux 磁盘配额quota管理链路中的初始化与体检环节它通过扫描指定文件系统统计每个用户UID和群组GID实际占用的目录与文件数量从而创建、检查并修复磁盘配额数据文件。本文以 quotacheck 手册 为主体结合本仓库中的 quota、edquota、quotaon、quotaoff、repquota、convertquota 等配套命令文档系统讲解 quotacheck 的语法、选项、典型用法以及 journaled quota日志配额场景下的配置迁移帮助你从零搭建一套可用的磁盘配额管控方案。quotacheck 的作用与工作方式quotacheck 命令通过扫描指定的文件系统获取磁盘的使用情况创建、检查和修复磁盘配额quota文件。执行 quotacheck 指令会扫描挂入系统的分区并在各分区的文件系统根目录下产生quota.user和quota.group文件用来设置用户和群组的磁盘空间限制。整个配额管理流程中quotacheck 处于生成基础数据的关键位置阶段命令职责声明配额修改/etc/fstab在挂载选项中加入usrquota/grpquota扫描建库quotacheck扫描文件系统创建/修复配额数据文件编辑限额edquota/setquota设置软限制、硬限制与宽限期激活配额quotaon启用内核配额功能查看报表quota/repquota查看用户、群组配额使用情况关闭配额quotaoff停用配额功能格式迁移convertquota转换新旧配额文件格式从源码结构看本仓库的 quotacheck.md 被 README.md 归类在磁盘管理命令集中与quota、edquota、quotaon、quotaoff、repquota等同属一个功能族适合放在一起阅读与排错。语法与选项语法quotacheck(选项)(参数)选项详解选项作用-a扫描在/etc/fstab文件里有加入 quota 设置的分区-c对目标文件系统进行一次新的扫描并创建新的 quota 文件-d详细显示指令执行过程便于排错或了解程序执行的情形-g扫描磁盘空间时计算每个群组识别码GID所占用的目录和文件数目-R排除根目录所在的分区-u扫描磁盘空间时计算每个用户识别码UID所占用的目录和文件数目-v显示指令执行过程实际使用中-a、-u、-g、-v四个选项常组合出现-a让命令自动遍历/etc/fstab中声明了配额的分区-u与-g分别决定生成用户级quota.user与群组级quota.group数据-v输出扫描过程。-c适用于配额文件缺失或需要强制重建的场景-d用于排查扫描报错-R在批量扫描时跳过根分区避免对系统盘做不必要的配额初始化。参数文件系统指定要扫描的文件系统可以传设备路径如/dev/hdb1或挂载点如/disk2只有在不使用-a时才需要显式指定。常见用法实例扫描所有启用配额的分区将所有的在/etc/mtab内、含有 quota 支持的 partition 进行扫描[rootlinux ~]# quotacheck -avug quotacheck: Scanning /dev/hdb1 [/disk2] done quotacheck: Checked 3 directories and 4 files-a会读取/etc/mtab而非直接读/etc/fstab因为真正生效的挂载参数记录在/etc/mtab中。输出中的Checked 3 directories and 4 files表示该分区下统计到的目录与文件数量这些数字随后会被写入配额数据文件。强制扫描已挂载的文件系统[rootlinux ~]# quotacheck -avug -m这里追加的-m选项用于强制扫描已挂载的文件系统跳过 quotacheck 默认的挂载点需为只读或未挂载检查适合在服务不能中断时执行在线扫描。扫描指定的文件系统[rootlinux ~]# quotacheck -cvug /disk2只对/disk2这一个挂载点执行扫描-c强制创建全新的配额文件-u、-g同时生成用户与群组两类数据文件。处理 journaled quota日志配额警告在执行 quotacheck 命令时如果出现以下信息quotacheck: Your kernel probably supports journaled quota but you are not using it. Consider switching to journaled quota to avoid running quotacheck after an unclean shutdown.这句提示的含义是当前内核支持日志型配额journaled quota但文件系统并没有启用它。非日志配额在系统异常关机unclean shutdown后配额数据文件可能与实际使用不一致需要再次运行 quotacheck 来修复而日志配额会把配额变更写入文件系统日志崩溃后自动恢复无需手动重新扫描。如果希望消除该提示并改用日志配额可以将之前在文件系统的配置文件中添加的 quota 相关字段修改为usrjquotaaquota.user,grpjquotaaquota.group,jqfmtvfsv1即把/etc/fstab中原本的usrquota,grpquota替换为上述三组参数usrjquotaaquota.user用户配额数据文件采用aquota.user名称并启用日志grpjquotaaquota.group群组配额数据文件采用aquota.group名称并启用日志jqfmtvfsv1指定日志配额文件格式为 vfsv1这是内核日志配额的标准格式。修改后重新挂载文件系统使配置生效mount -vo remount 挂载目录⚠️重要提醒如果这一步操作出现了任何问题千万不要试图通过重启解决将配置文件恢复原状是一个好的选择。因为若/etc/fstab写入了错误的挂载选项重启后分区可能因参数非法而无法正常挂载导致系统无法进入此时应先把配置改回原样再排查其他原因。在完整配额流程中应用 quotacheckquotacheck 单独执行价值有限它必须配合配额生命周期的其他环节才能构成完整方案。结合本仓库 quota.md 的实战记录一个标准流程如下。第一步修改/etc/fstab声明配额选取一个合适的分区如/disk2在挂载选项中追加配额关键字注意逗号前后不要留空格LABEL/disk2 /disk2 ext3 defaults,usrquota,grpquota 1 2usrquota启用用户级配额grpquota启用群组级配额拼写务必正确是usrquota/grpquota而不是userquota/groupquota。由于 quota 读取的是/etc/mtab而该文件需要重新挂载后才能反映新配置可通过以下两种方式之一让配置生效# 方式一卸载后重新挂载 umount /dev/hdb1 mount -a grep /disk2 /etc/mtab # 方式二使用 remount推荐不中断服务 mount -o remount /disk2第二步运行 quotacheck 生成配额数据文件[rootlocalhost ~]# quotacheck -avug quotacheck: Scanning /dev/hdb1 [/disk2] done quotacheck: Checked 3 directories and 4 files [rootlocalhost ~]# ll /disk2 -rw------- 1 root root 6144 Sep 6 11:44 aquota.group -rw------- 1 root root 6144 Sep 6 11:44 aquota.user扫描完成后文件系统根目录下会生成aquota.group与aquota.user对应新格式。部分旧版本 Linux 的 quota 工具只识别quota.user/quota.group文件名可以用软链接欺骗旧程序非必要操作主要是理解这种兼容思路cd /disk2 ln -s aquota.user quota.user ln -s aquota.group quota.group第三步激活配额[rootlocalhost ~]# quotaon -avug /dev/hdb1 [/disk2]: group quotas turned on /dev/hdb1 [/disk2]: user quotas turned on看到turned on字样才表示激活真正成功。需要关闭时使用 quotaoffquotaoff -avug第四步编辑限额并查看结果使用 edquota 为用户设置软限制soft与硬限制hard并可把某用户配置复制给其他用户edquota -u quser1 edquota -p quser1 quser2 # 将 quser1 的配置直接复制给 quser2设置宽限期grace periodedquota -t随后用quota命令查询用户、群组的实际使用情况quota -vu quser1 quser2 quota -vg qgroup-v显示所有挂载设备上的限制-g/-u分别针对群组与用户。注意只要使用者尚未超过软限制输出中就不会出现 grace宽限时间列。配额开启后用户超过硬限制的写入会被拒绝并返回错误。第五步输出配额报表若需以报表形式汇总整个分区或所有启用配额分区的使用状态使用 repquotarepquota -a # 列出 /etc/fstab 中启用配额的所有分区包括用户与群组 repquota -u /disk2 # 只列出指定文件系统的用户配额补充配额文件格式迁移如果系统上遗留的是旧格式的quota.user/quota.group需要转换时使用 convertquotaconvertquota -u /data # 转换文件系统 /data 上的用户配额文件 convertquota -g /data # 转换群组配额文件-f将老格式转换为新格式-e用于切换文件字节序大端/小端。注意事项总结扫描对象-a依据/etc/fstab与/etc/mtab中声明了 quota 的分区进行扫描因此先确保挂载选项正确并已重新挂载文件生成位置配额数据文件quota.user/quota.group或aquota.user/aquota.group生成于被扫描文件系统的根目录例如挂载点为/disk2时文件位于/disk2下旧版兼容若你的 quota 工具版本较旧、无法识别aquota.*文件可通过软链接指向quota.user/quota.group名称日志配额现代内核推荐使用usrjquota、grpjquota、jqfmtvfsv1配置日志配额避免异常关机后必须手动重跑 quotacheck修改/etc/fstab出现问题时先恢复原配置再排查切勿盲目重启权限要求quotacheck 需要 root 权限执行因为它要遍历整个文件系统并写入配额元数据。延伸阅读quota 命令查看用户/群组配额使用情况edquota 命令编辑软限制、硬限制与宽限期quotaon 命令激活配额功能quotaoff 命令关闭配额功能repquota 命令输出配额报表convertquota 命令转换新旧配额文件格式赞分享文档教程【免费下载链接】linux-commandLinux命令大全搜索工具内容包含Linux命令手册、详解、学习、搜集。https://git.io/linux项目地址https://gitcode.com/GitHub_Trending/linux/linux-command点击查看免费下载相关推荐edge-tts 使用教程3 步免费实现多语言文字转语音无需 API 密钥edge tts 使用教程3 步免费实现多语言文字转语音无需 API 密钥 edge tts 是一个 Python 文字转语音TTS工具可以调用微软语音音频AI 应用Linux mke2fs 命令详解在磁盘分区上创建 ext2/ext3 文件系统的完整实战指南Linux mke2fs 命令详解在磁盘分区上创建 ext2/ext3 文件系统的完整实战指南 mke2fs 是 Linux 下创建 ext2/ext3 文件文档教程linux-command 命令速查pvscan 详解——扫描 LVM 物理卷并识别可分配磁盘linux command 命令速查pvscan 详解——扫描 LVM 物理卷并识别可分配磁盘 本篇指南以 command/pvscan.md https:/文档教程创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑