下一页 上一页 目录

3. 配额设置:安装与配置

3.1 补丁内核

请从以下地址下载适用于您的内核的补丁

ftp::/atrey.karlin.mff.cuni.cz/pub/local/jack/quota/.

选择您的内核版本并下载补丁。使用 'patch' 命令为您的内核打补丁。如果您的内核版本有多个补丁,请务必按正确的顺序应用补丁。

您可以使用此脚本(我假设下载的补丁位于 /tmp/quota/ 中,内核已解压到 /usr/src/linux)


#!/bin/sh

gunzip /tmp/quota/*.gz
cd /usr/src/linux
COUNT=`ls -1 /tmp/quota/*.diff | wc -l`
for I in `seq 1 $COUNT`
do
   patch -p1 < /tmp/quota/quota-2.4.21-$I-*.diff
done

3.2 重新配置您的内核

重新配置您的内核并添加配额支持。

通过 `make menuconfig` 或 `make xconfig`,您可以在 "Filesystems" 菜单下找到配额支持选项。如果需要,您可以指定额外的选项,例如 32 位 UID 支持。

保存配置并编译内核。确保在系统重启时将使用新的内核。

3.3 编译和安装配额软件

为了能够使用新的配额系统的所有功能,您可能需要下载新的 quota 软件包。通过上面提供的 URL 下载新的配额软件。

下载完成后,执行


$ gzip -dc <downloaded file> | tar xvf 
$ cd quota-tools  (or whatever directory the software is put in)
$ ./configure
$ make
$ su
# make install

3.4 修改您的系统 init 脚本以检查配额并在启动时启用配额

这是一个例子


# Check quota and then turn quota on. 
if [ -x /usr/sbin/quotacheck ] 
        then 
               echo "Checking quotas. This may take some time." 
               /usr/sbin/quotacheck -avug 
               echo " Done." 
        fi 
         if [ -x /usr/sbin/quotaon ] 
        then 
                echo "Turning on quota." 
                /usr/sbin/quotaon -avug 
        fi

黄金法则是始终在 /etc/fstab 中的文件系统挂载完成后启用配额,否则配额将无法工作。我建议在系统 init 脚本中文件系统挂载部分之后立即启用配额。

3.5 修改 /etc/fstab

您尚未启用配额的分区通常看起来像这样


/dev/hda1       /       ext2    defaults        1       1
/dev/hda2       /usr    ext2    defaults        1       1

要在文件系统上启用用户配额支持,请将 "usrquota" 添加到包含 "defaults" 单词的第四个字段中(详情请参阅 man fstab)。


/dev/hda1       /       ext2    defaults        1       1
/dev/hda2       /usr    ext2    defaults,usrquota       1       1

如果您需要在文件系统上启用组配额支持,请将 "usrquota" 替换为 "grpquota"。


/dev/hda1       /       ext2    defaults        1       1
/dev/hda2       /usr    ext2    defaults,grpquota       1       1

需要在文件系统上同时支持用户配额和组配额吗?


/dev/hda1       /       ext2    defaults        1       1
/dev/hda2       /usr    ext2    defaults,usrquota,grpquota       1   1

3.6 激活配额系统

要激活配额软件,您必须重启系统以使您所做的更改生效。具有配额支持的新内核将被加载,并且您刚刚创建的启动脚本将被执行。首次运行时,quotacheck 将生成适当的文件来维护配额数据库。

3.7 将 quotacheck 添加到 crontab

尽管配额应该可以通过定期检查工作,但有时定期运行 quotacheck 会有所帮助,例如每周一次。将以下行添加到 root 用户的 crontab 中


0 3 * * 0 /sbin/quotacheck -avug


下一页 上一页 目录