news 2026/10/3 7:38:43

linux-command 项目之 quotaon 命令详解:激活 Linux 磁盘配额功能的完整实战指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
linux-command 项目之 quotaon 命令详解:激活 Linux 磁盘配额功能的完整实战指南
  • 文档
  • 教程

【免费下载链接】linux-command

Linux命令大全搜索工具,内容包含Linux命令手册、详解、学习、搜集。https://git.io/linux

项目地址:https://gitcode.com/GitHub_Trending/linux/linux-command
点击查看免费下载

导读

本文基于 linux-command 开源仓库(Linux 命令大全搜索工具,command/quotaon.md 文档)讲解quotaon命令的完整用法。quotaon用于激活 Linux 内核中指定文件系统的磁盘配额(quota)功能,是磁盘配额管理流程中"开关"环节的核心命令。读完本文,你将掌握quotaon的语法与选项含义、与quotacheck/edquota/quota/quotaoff等命令的配合关系,以及从/etc/fstab配置到配额正式生效的完整实操链路。

一、quotaon 在磁盘配额体系中的定位

Linux 磁盘配额(Disk Quota)用于限制用户(user)与群组(group)在指定文件系统上可占用的磁盘空间与文件数量。完整的配额管理通常涉及四个环节:

  1. 配置挂载选项:在/etc/fstab中为分区加入usrquota、grpquota挂载参数;
  2. 扫描生成配额文件:使用quotacheck扫描文件系统,在分区根目录生成aquota.user、aquota.group(或旧格式quota.user、quota.group)配额数据库文件;
  3. 激活配额功能:使用quotaon打开内核的配额统计与限制机制;
  4. 设定与查看限额:使用edquota/setquota编辑限额,用quota/repquota查询使用情况,用quotaoff关闭配额。

quotaon处于第 3 步,其作用正如仓库文档所述:"执行 quotaon 指令可开启磁盘对用户和群组的空间使用限制"。仓库的 README.md 将quotaon归类于"磁盘管理"分类,与quota、quotacheck、quotaoff、repquota、edquota等命令并列,共同构成完整的配额管理工具链。

二、语法与选项详解

语法格式

quotaon(选项)(参数)

选项说明

选项作用
-a开启在/etc/fstab文件里加入了 quota 设置的分区的空间限制(即自动扫描所有声明了usrquota/grpquota挂载选项的文件系统)
-g开启群组的磁盘空间限制
-u开启用户的磁盘空间限制
-v显示指令执行过程(verbose,输出每个文件系统的激活结果)

参数

文件系统:指定要激活磁盘配额功能的文件系统(可写设备路径如/dev/hdb1,或挂载点如/disk2)。

需要特别注意的是:

  • -a与显式指定文件系统是两种互斥的使用方式:使用-a时不写文件系统参数,让系统按/etc/fstab自动匹配;不使用-a时则必须给出具体文件系统参数;
  • 单独使用-g或-u表示只激活群组或只激活用户的配额,两者都写(-gu或-ug)则同时激活;
  • 实际运维中最常用的是组合参数-avug,即"扫描/etc/fstab中所有带 quota 挂载选项的分区,同时激活用户与群组配额并输出详细过程"。

三、使用前提:必须存在 quotacheck 生成的配额文件

quotaon并非无条件生效。原文档明确指出:"在开启前,各分区的文件系统根目录必须存在通过 quotacheck 命令创建的 quota 配置文件"。也就是说,配额数据库文件是配额功能的数据基础,quotaon只是读取该文件并通知内核开始强制执行限额。

quotacheck 命令(详见仓库 command/quotacheck.md)通过扫描文件系统,计算每个用户识别码(UID)与群组识别码(GID)所占用的目录和文件数目,并在各分区文件系统根目录下产生配额数据库文件。典型执行方式:

quotacheck -avug quotacheck: Scanning /dev/hdb1 [/disk2] done quotacheck: Checked 3 directories and 4 files

执行后可在分区根目录看到生成的文件:

ll /disk2 -rw------- 1 root root 6144 Sep 6 11:44 aquota.group -rw------- 1 root root 6144 Sep 6 11:44 aquota.user

关于 journaled quota 的提示

如果你的内核支持日志型配额(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.

此时可考虑将/etc/fstab中该文件系统的 quota 相关字段修改为:

usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv1

然后重新挂载文件系统:

mount -vo remount 挂载目录

需要注意:如果这一步操作出现问题,千万不要试图通过重启解决,将/etc/fstab配置恢复原状是更稳妥的选择(详见 command/quotacheck.md 的补充说明)。

四、完整实战:从 fstab 配置到配额正式生效

本节将仓库中 command/quota.md 的实战案例与quotaon的使用串联起来,演示配额功能的完整生命周期。假设场景:Linux 主机中有quser1、quser2两个用户,同属qgroup组,需对/disk2分区实施磁盘配额。

第 1 步:在 /etc/fstab 中加入配额挂载选项

[root@localhost ~]# vi /etc/fstab LABEL=/ / ext3 defaults 1 1 LABEL=/disk1 /disk1 ext3 defaults 1 2 LABEL=/disk2 /disk2 ext3 defaults,usrquota,grpquota 1 2 /dev/hda3 swap swap defaults 0 0

注意defaults,usrquota,grpquota之间没有空格,务必正确书写。这样/disk2分区就带上了配额标记。

第 2 步:重新挂载使 fstab 配置生效

由于配额功能真正读取的是/etc/mtab文件,而它需要重新挂载后才能反映新的 fstab 数据,可执行:

[root@localhost ~]# umount /dev/hdb1 [root@localhost ~]# mount -a [root@localhost ~]# grep '/disk2' /etc/mtab /dev/hdb1 /disk2 ext3 rw,usrquota,grpquota 0 0

也可以使用 mount 的 remount 功能,一步到位:

[root@localhost ~]# mount -o remount /disk2

第 3 步:用 quotacheck 扫描并生成配额文件

[root@localhost ~]# quotacheck -avug quotacheck: Scanning /dev/hdb1 [/disk2] done quotacheck: Checked 3 directories and 4 files

第 4 步:用 quotaon 激活配额功能

[root@localhost ~]# quotaon -avug /dev/hdb1 [/disk2]: group quotas turned on /dev/hdb1 [/disk2]: user quotas turned on

看到输出turned on,配额功能才算真正激活成功。这一步就是quotaon命令的用武之地——内核自此开始对/disk2上的用户与群组执行空间限制。若未执行此步,即便生成了配额文件,限制也不会生效。

第 5 步:编辑用户与群组的限额

使用edquota(详见 command/edquota.md)编辑用户限额:

[root@localhost ~]# edquota -u quser1 Disk quotas for user quser1 (uid 502): Filesystem blocks soft hard inodes soft hard /dev/hdb1 0 45000 50000 0 0 0
  • soft为软限制:在宽限期内允许暂时超过;
  • hard为硬限制:绝对不可超过;
  • 单位为 KB,即此处 quser1 软限制 45 MB、硬限制 50 MB。

复制同一套配置给 quser2:

[root@localhost ~]# edquota -p quser1 quser2

设定宽限时间(宽限期内必须将超出部分删除,否则将无法使用剩余空间):

[root@localhost ~]# edquota -t Grace period before enforcing soft limits for users: time units may be: days, hours, minutes, or seconds Filesystem Block grace period Inode grace period /dev/hdb1 1days 7days

编辑群组限额:

[root@localhost ~]# edquota -g qgroup Disk quotas for group qgroup (gid 502): Filesystem blocks soft hard inodes soft hard /dev/hdb1 0 80000 90000 0 0 0

第 6 步:查询配额使用情况

[root@localhost ~]# quota -vu quser1 quser2 Disk quotas for user quser1 (uid 502): Filesystem blocks quota limit grace files quota limit grace /dev/hdb1 0 45000 50000 0 0 0 Disk quotas for user quser2 (uid 503): Filesystem blocks quota limit grace files quota limit grace /dev/hdb1 0 45000 50000 0 0 0

由于用户尚未超过 45 MB 软限制,grace(宽限时间)一栏不会显示。群组查询同理:

[root@localhost ~]# quota -vg qgroup Disk quotas for group qgroup (gid 502): Filesystem blocks quota limit grace files quota limit grace /dev/hdb1 0 80000 90000 0 0 0

如需以报表格式查看整个文件系统所有用户/群组的配额状况,可使用repquota -a(详见 command/repquota.md)。

五、关闭配额与日常维护

与quotaon对应的是quotaoff命令(详见 command/quotaoff.md),用于关闭指定文件系统的磁盘配额功能,选项结构完全对称:

选项作用
-a关闭在/etc/fstab文件里加入了 quota 设置的分区的空间限制
-g关闭群组的磁盘空间限制
-u关闭用户的磁盘空间限制
-v显示指令执行过程
quotaoff -avug # 关闭所有配额分区的用户与群组配额 quotaoff -u /disk2 # 仅关闭 /disk2 的用户配额

典型的维护场景包括:系统升级前临时关闭配额、修复配额数据库(需先quotaoff再quotacheck再quotaon)等。另外,在修改限额(edquota)之后无需重启配额,quotaon会直接读取更新后的配额数据库文件。

六、常见问题与排错要点

  1. quotaon报错提示找不到配额文件:说明该分区的根目录下还没有通过quotacheck生成的aquota.user/aquota.group(或旧版quota.user/quota.group),先执行quotacheck生成文件再重试。

  2. 配额文件为旧格式导致无法启动:某些旧版 quota 无法以aquota.user/aquota.group启动,可以通过符号链接兼容(该做法并非必需,主要是理解其思路):

    cd /disk2 ln -s aquota.user quota.user ln -s aquota.group quota.group
  3. 执行后没有turned on输出:检查/etc/fstab的挂载选项中是否写入了usrquota/grpquota(注意拼写是usrquota而非userquota),并确认分区已按新配置重新挂载(/etc/mtab中已包含 quota 标记)。

  4. 强制扫描已挂载文件系统:若文件系统正被使用导致quotacheck报错,可使用quotacheck -avug -m强制扫描,随后再执行quotaon -avug。

七、小结

quotaon虽然只是磁盘配额管理链中的一个"开关"命令,但它决定了配额限制是否真正生效。正确用法是:先在/etc/fstab配置挂载选项 → 重新挂载 →quotacheck生成配额文件 →quotaon -avug激活 →edquota设定限额 →quota/repquota监控使用情况。本文涉及的完整命令手册均可在 linux-command 仓库中找到,包括 command/quota.md、command/quotacheck.md、command/edquota.md、command/quotaoff.md 与 command/repquota.md,适合作为日常运维的速查手册。

  • 文档
  • 教程

【免费下载链接】linux-command

Linux命令大全搜索工具,内容包含Linux命令手册、详解、学习、搜集。https://git.io/linux

项目地址:https://gitcode.com/GitHub_Trending/linux/linux-command
点击查看免费下载

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/3 7:38:10

域控下映射网络驱动器全程图解

📦前提:先把共享文件夹建好映射网络驱动器的本质,是让客户端通过 UNC 路径(\\服务器\共享名)访问服务器上的一个共享文件夹。没有共享,后面一切免谈。截图 0101准备共享文件夹 —— 建共享 给权限文件&…

作者头像 李华
网站建设 2026/10/3 7:38:10

1987年6月20日晚上23-24点出生性格、运势和命运

1987年是丁卯兔年,纳音炉中火,生于6月20日深夜23点到24点,恰是子时交辰,八字里藏着夏末的余温与子夜的清宁。性格里总带着几分矛盾的软韧——像夏夜里被风晃过的竹篱,看着温驯,骨子里却有不肯折的劲儿。丁卯…

作者头像 李华
网站建设 2026/10/3 7:38:08

超出行业盛会之外,WEEX 正在寻找另一群人:全球 AI 与量化开发者

每年到了行业大型技术峰会,各类前沿技术与商业机构往往会成为最受关注的参与者。但如果把视线从会场再往外移一点,会发现还有一群人正在用另一种方式参与技术演进——他们可能没有站在舞台中央,却在写代码、做策略、训练模型,并尝…

作者头像 李华
网站建设 2026/10/3 7:36:59

BGN2 田忌赛马

暴力破解版本#include <iostream> using namespace std;int main() {int v[3]; int a[3];for(int i0;i<3;i) {cin>>v[i]; }for(int i0;i<3;i) {cin>>a[i]; }int s0;if(v[0]<a[0]) s; if(v[1]<a[1]) s; if(v[2]<a[2]) s; if(s>2) {printf(…

作者头像 李华
网站建设 2026/10/3 7:36:44

培训项目设计工具与开发:用四张检查单提升培训转化率

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/3 7:36:35

Kraljic矩阵+SVM物料分类与TOPSIS供应商评价:Python实现全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华