quotacheck是Linux中用于扫描文件系统、创建或更新aquota.user和aquota.group配额数据库的工具,通过重新统计磁盘使用量重建准确配额信息,解决因异常关机或未启用配额时写入导致的数据不一致问题。

quotacheck 是 Linux 中用于扫描文件系统、生成或更新配额数据库(aquota.user 和 aquota.group)的工具。它本身不“修复”配额错误,而是通过重新统计磁盘使用量来**重建准确的配额信息**,从而解决因系统异常(如非正常关机、配额未启用时写入数据等)导致的配额文件过期或不一致问题。
确认配额已启用并挂载支持配额的文件系统
quotacheck 只对启用了配额支持的文件系统有效:
- 检查
/etc/fstab中目标分区是否包含usrquota(用户配额)和/或grpquota(组配额)挂载选项,例如:
/dev/sda2 /home ext4 defaults,usrquota,grpquota 0 2 - 确保该文件系统已重新挂载(或重启后生效)。可用
mount | grep home验证是否显示usrquota/grpquota。 - 若刚添加挂载选项,需先执行
sudo mount -o remount /home。
运行 quotacheck 重建配额文件
基本命令格式为:sudo quotacheck [选项] [挂载点]。常用组合如下:
-
sudo quotacheck -cug /home:强制创建(-c)新的配额文件,并为用户(-u)和组(-g)分别扫描统计。 -
sudo quotacheck -avug:扫描所有在/etc/fstab中标记了配额选项的文件系统(-a),同时处理用户与组配额。 -
sudo quotacheck -vum /home:详细模式(-v)扫描,并只更新已有配额文件(-m),不覆盖或重建(适合日常校准)。
⚠️ 注意:首次启用配额时必须用 -c;后续校正建议加 -v 观察过程;若配额服务正在运行(quotaon 已启用),通常应先关闭(quotaoff),再运行 quotacheck,最后再 quotaon。
验证结果与启用配额服务
quotacheck 执行成功后,会在挂载点根目录下生成或更新两个文件:
-
aquota.user(用户配额数据库) -
aquota.group(组配额数据库)
接着启用配额服务:sudo quotaon /home(或 sudo quotaon -avug 启用全部)
然后可用 sudo repquota -a 查看汇总,或 quota -u username 检查具体用户配额状态,确认统计值是否与实际 du -sh /home/username 接近。
常见问题提示
- 报错
quotacheck: Cannot stat() mounted device /dev/sda2: No such file or directory:说明挂载点未正确识别,检查df -h输出中的实际设备名与挂载路径。 - 配额仍显示为 0 或陈旧数据:确认没有遗漏
-u/-g选项;检查 SELinux 是否阻止访问(临时设为 permissive 测试);确认用户主目录归属正确(chown user:group /home/user)。 - 不想中断服务?可使用
-m(仅扫描已挂载且启用配额的文件系统)配合-v在线校准,但精度略低于完全重扫。


















