VB 源码VC 源码ASP源码JSP源码PHP源码CGI源码FLASH源码素材模板C 源程序常用软件文档中心其他程序

Linux

注册表
经验技巧
Linux
Win9x/ME
Win2000/NT
WinXP/Server

本类阅读TOP10

·创建iptables NAT规则
·在局域网中设置Linux时间服务器
·Linux 指令大全(1)
·Linux日志管理详解
·Linux初学者-初入门时的五个问题
·做个ADSL+Linux软路由器
·Linux 文件命令精通指南(初级)
·构建Linux局域网
·漂亮的国产Linux操作系统Open Desktop赏析
·LINUX系统中动态链接库的创建与使用

精品推荐
如何在Linux上启动Quota

作者:佚名 来源:月光软件站 加入时间:2005-5-12 月光软件站

    序言: 这份文件的版权由 Albert M.C. Tam (bertie@scn.org) 所保留。同意这份文件的使用、复制,因此非商业性的散布是允许的,但是所有的拷贝以及/或是没有修改直接援用的文件上须有作者与编者的名字及这份注意事项。这份文件是因为希望能有所帮助而散布的,但不负任何责任,无论是明白的或隐含的。虽然能够确定这份文件里的资讯之正确性的所有工作都做了,作者/编者/维护者对于错误,或是因为使用这份文件所含的资讯而造成任何毁损的结果没有任何责任。

    这份文件描述如何在 Linux 主机上启用档案系统的 quota , 为使用者指定 quota ,以及其它 quota 指令的用法。它适用执行 2.x 版核心的使用者(在 2.0.7 上测试过)。建议旧版核心的使用者进行更新。

    如果你发现其中有错误,或者是遗漏了任何资讯,请不要在意将它们寄给bertie@scn.org 。我会很感激的!

什么是 Quota?

    Quota 让你可以从两方面指定磁碟的储存限制: 使用者所能够支配的索引节点(inodes)数量;以及使用者可以取用的磁碟区块数量。

    Quota 背后的含意是强制使用者在大部分的时间中保持在他们的磁碟使用限制之下,取消他们在系统上无限制地使用磁碟空间的能力。

Quota 目前在 Linux 上的情况

    Quota 的支援据我所知自从 1.3.8x 版开始已经整合到核心之中,而且它也在 2.0 版的核心里。如果你的系统不支援 quota 那么我建议你来次更新。

目前为止,quota 只能在 ext2 档案系统上运作。

在 Linux 上使用 Quota 的需求

核心

2.x 版的核心可以从这里取得

ftp://tsx-11.mit.edu/pub/linux/sources/system/v2.0/

Quota 软体

    端视你的 Linux 发行套件而定,在你的系统上可能已经装好也可能没有quota 软体。quota 软体的原始程式码可以从这里取得tp://ftp.funet.fi/pub/Linux/PEOPLE/Linus/subsystems/quota/all.tar.gz.

在 Linux 上设定 quota - 第一部份: 配置

1. 配置你的核心

重新配置你的核心并且对这个选项回答 y 以加入 quota 的支援:

Quota support (CONFIG_QUOTA) [n] y

2. 编译并安装 quota 软体

Quota 软体的原始程式码可以从这里取得


ftp://ftp.funet.fi/pub/Linux/PEOPLE/Linus/subsystems/quota/all.tar.gz


    虽然我上面提到的 quota 软体套件已经移植到 Linux 上面,而且应该在执行 2.x 版核心的系统上编译;但你可能会遇到一些麻烦,C 编译器不断地抱怨某些未定义的 MNTOPT 。如果发生这个问题,那么你将得复制它的 mntent.h 档案到 /usr/include/metent.h 以便能编译 quota 。

3. 修改你系统的启动指令稿以检查 quota 并且在启动时期打开 quota

这里有个范例:

# 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 里的档案系统*之后*打开 quota , 否则 quota 将不会运作。我建议在你系统的启动指令稿最后面打开 quota , 或者,如果你喜欢,在你的系统指令稿刚挂入档案系统之处打开它。

4. 修改 /etc/fstab

还没有启用 quota 的分割区一般看起来像:

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

要在档案系统上加入 quota 的话,在包含 "defaults" 这个字的第四个栏位加上 "usrquota" 。

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

5. 建立 "quota.user" 这个 quota 记录

    这个 quota 记录档,quota.user , 应该由 root 拥有,而且 root 有读写的权限而其他任何人都没有。

    以 root 的身分签入。进入你想要启用 quota 之分割区的最上层,并且这样建立 quota.user:

touch /partition/quota.user
chmod 600 /partition/quota.user

6. 重新启动

现在重新启动系统以便让你所作的变更生效。

同时注意以后对于你还想要启用 quota 的其它分割区只需要步骤 4, 5,以及 6 。

在 Linux 上设定 quota - 第二部份: 为使用者指定 Quota

这项操作是使用 edquota 指令执行的。例如,"edquota bob" 这个指令将会把你带进 vi (或是在你的 $EDITOR 环境变数中所指定的编辑器)以便为使用者 "bob" 编辑在每个启用 quota 的分割区上的 quota 。

Quotas for user bob:
/dev/hda2: blocks in use: 2594, limits (soft = 5120, hard = 6400)
inodes in use: 356, limits (soft = 1000, hard = 1500)


"blocks in use" 是使用者在某个分割区上已经使用的区块总数(以千位元组为单位)

"inodes in use" 是使用者在某个分割区上所拥有的档案总数。

除了 edquota 之外,还有三个你应该熟习的其它专有名词: 软性限制,硬性限制,以及缓冲期间。

软性限制

一般来说,软性限制指出 quota 使用者在分割区上拥有的磁碟用量总数。但是合并使用缓冲期间的时候,它的动作就如同一道临界线,当 quota使用者超越时便发出有关他即将违犯 quota 的警告。

硬性限制

硬性限制只在设定有缓冲期间时才会运作。它指出磁碟用量的绝对限制,quota 使用者不能超越他的硬性限制。

缓冲期间

以 "edquota -t" 指令执行,缓冲期间是对 quota 使用者实行软性限制之前的时间限制。可以使用的时间单位是秒、分、小时、日、星期、以及月。这是你使用 "edquota -t" 指令将会见到的:

Time units may be: days, hours, minutes, or seconds Grace period before enforcing soft limits for users: /dev/hda2: block grace period: 0 days, file grace period: 0
days

把 0 days 这个部份变更为你觉得合理的任何期限。我个人选择 7 days(或是 1 week )。

----------------------------------------------------------------

其它的 Quota 指令

Quotacheck

Quotacheck 是用来扫描档案系统的磁碟用量,并更新 "quota.user" 此quota 记录档到最新的状态。我建议定期在系统启动时执行 quotacheck或藉由 cronjob 每隔一段时间执行一次(像是,一星期? )。

Repquota

Repquota 产生档案系统之摘要 quota 资讯。这里有份 repquota 所得的输出范例:

# repquota -a
Block limits File limits

User used soft hard grace used soft
hard grace
root -- 175419 0 0 14679 0
0
bin -- 18000 0 0 735 0
0
uucp -- 729 0 0 23 0
0
man -- 57 0 0 10 0
0
user1 -- 13046 15360 19200 806 1500
2250
user2 -- 2838 5120 6400 377 1000
1500

Quotaon 以及 Quotaoff

Quotaon 是用来打开 quota 的计算; quotaoff 则是将其关闭。实际上两者很类似。它们是在系统启动与关机时执行的。





相关文章
  • 虚拟服务器实现方法
  • 修改linux只能上500多个进程的限制
  • 守护进程的概念和建立方法
  • 如何一次添加大量账户
  • RedHat6.2服务器配置方案(4) DHCP
  • RedHat6.2服务器配置方案(2) DNS
  • RedHat6.2服务器配置方案(3) Apache
  • RedHat6.2服务器配置方案(1) 前言
  • Linux日志管理详解
  • LINUX系统初始化过程解析
  • Linux操作实用技巧三则
  • 在局域网中设置Linux时间服务器
  • 移动整个Linux
  • 一个IP建多个Web站点--TCP端口法
  • 日志式文件系统简介
  • ext3日志式文件系统使用介绍
  • 注解高端UNIX服务器之技术
  • 嵌入式系统以及如何构造一个嵌入式系统概览
  • LINUX系统中动态链接库的创建与使用
  • 在RedHat 6.2上运行SSH2
  • 相关软件




    月光软件程序下载编程文档电脑教程网站设计网址导航网络文学游戏天地幽默笑话生活休闲写作范文安妮宝贝
    电脑技术编程开发网络专区谈天说地情感世界游戏元素分类游戏热门游戏体育运动手机专区业余爱好影视沙龙
    音乐天地数码广场教育园地科学大观古今纵横谈股论金人文艺术医学保健动漫图酷二手专区地方风情各行各业

    月光软件站·版权所有