磁盘空间管理
由于Linux 是多用户的操作环境,如果任由每个用户存放文件而不加限制,磁盘空间将 迅速消耗,很快便无法使用。Quota 的功能就是去限制用户运用的磁盘空间。在系统尚未设 置磁盘空间时,可用执行 quota 命令检查自己的磁盘使用空间,若出现下列信息,则表示没 有限制:
[lambert@free lambert]$ quota
Disk quotas for user lambert (501):none ← 无限制
这表示用户 lambert 可以任意堆放文件,直到塞满整个磁盘为之,这样将造成其他用户 都无法储存数据。为了避免这种毫无节制、滥用空间的灾难发生,本节将讨论如何为用户设 置磁盘空间的限制。
一、编辑 fstab 文件
用文本编辑程序打开/etc/fstab 文件, 其内容如下:
编辑 ext3 文件系统原生分区的设置表示要创建用户与组的磁盘空间限制:
LABEL=//ext3 defaults,usrquota,grpquota 1 1 ← ext3 文件系统分区
倘若只要限制用户或组的磁盘空间,则只需要加上 usrquota 或 grpquota 其中一项即可, 保存文件后退出,请重新启动。
对 fstab 文件中各字段的代表意义有兴趣者,可执行 man fstab 和 man mount 命令来查看 相关信息。
二、生产配置文件
修改 fstab 文件后,请先在系统根目录下执行 touch aquota.user 与 touch aquota.group 命 令,自行创建 aquota.user 及 aquota.group 两个文件, 接着执行 quotacheck 命令设置:
[root@free root]# quotacheck –ugavmc
Quotacheck: Scanning / dec/ hda1[/]done
Quotacheck: Checked 10064 directories and 202332 files
以下是用于 quotacheck 命令的参数说明:
- -a 参数: 扫描 fstab 文件加入 quota 设置的分区。
- -d 参数: 详细显示命令执行过程,便于调试或了解程序执行的情形。
- -g 参数: 扫描磁盘空间时, 计算每个组标识符(GID)所占用的目录和文件数目。
- -v 参数: 标识命令执行过程。
- -m 参数: 强制执行命令。
- -c 参数: 不读取已经存在的 aquota 数据库,重新扫描硬盘并保存。
进行如上操作后然后重新启动,并设置用户的磁盘空间。
三、执行 quotaon
要取消磁盘空间的限制, 执行 quotaoff-avug 命令即可。范例如下:
[root@free root]# quotaoff –avug
/dec/hda1[/]:group quotas turned off
/dec/hda1[/]:user quotas turned of
四、检查是否超过磁盘限制
一般的用户执行 quota –v 命令, 可知自己是否超过限制:
[lambert@free lambert]# quota –v
Disk quotas for user lambert(501):