热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

LinuxQuotaminiHOWTO磁盘空间限制

原始文件:LinuxQuotamini-HOWTO档案叙述:磁碟空间限制简易使用说明翻译日期:1996092019971021翻译维护:asdchen@ms1.hinet.ne
原始文件:Linux Quota mini-HOWTO
档案叙述:磁碟空间限制简易使用说明
翻译日期:1996/09/201997/10/21
翻译维护:asdchen@ms1.hinet.net
修订:cwhuang@phys.ntu.edu.tw (1997/10/21)
--------------------------------------------------------------
 
如何在 Linux 上启动 Quota

更新日期: Fri Aug 8 09:45:05 HKT 1997

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

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

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

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

什麽是 Quota?

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

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

Quota 是以每一使用者,每一档案系统为基础的.如果使用者可能在超过
一个以上的档案系统上建立档案,那麽必须在每一档案系统上分别设定
quota.


Quota 目前在 Linux上的情况

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

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


在 Linux 上使用 Quota 的需求

核心

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

 http://sunsite.unc.edu/pub/Linux/kernel/v2.0

Quota 软体

端视你的 Linux发行套件而定,在你的系统上可能已经装好也可能没有
quota 软体。quota 软体的原始程式码可以从这里取得

 ftp://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

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 / ext2defaults1 1
/dev/hda2 /usrext2defaults1 1

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

/dev/hda1 / ext2defaults1 1
/dev/hda2 /usrext2defaults,usrquota 1 1

如果你需要在一档案系统中的群组 quota 支援,将 "usrquota" 改为
"grpquota".

/dev/hda1 / ext2defaults1 1
/dev/hda2 /usrext2defaults,grpquota 1 1

如果要同时支援使用者 quota 与群组 quota 的话 
 
/dev/hda1 / ext2defaults1 1
/dev/hda2 /usrext2defaults,usrquota,grpquota1 1

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

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

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

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

6.重新启动

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

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

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

这项操作是使用 edquota 指令执行的。(详情参考 man edquota).

我通常在编辑 quota 之前会先使用 quotacheck 并加上参数 -avug 以
取得最新的档案系统使用状况.这只是一个个人习惯,并非必要步骤.


为特定使用者指定 quota
 
这儿有个例子.在我的系统上有一个名叫 bob 的使用者.使用
"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" 是使用者在某个分割区上所拥有的档案总数。


为特定群组指定 quota

现在在我的系统上有一群组叫 games."edquota -g games" 再度将我带入
vi 以便为 games 群组编辑 quota :

Quotas for group games:
/dev/hda4: blocks in use: 5799, limits (soft = 8000, hard = 10000)
inodes in use: 1454, limits (soft = 3000, hard = 4000)


为一群使用者指定相同的 quota 值
 
为了快速地为我系统上的一群使用者,例如一百名,设定和 bob 相同的
quota 值,我首先以手动编辑 bob 的 quota 资讯,然後执行:

edquota -p bob `awk -F: "$3 > 499 {print $1}" /etc/passwd`

这是假设你使用 csh,并且你的使用者 UID 从 500 开始. 

除了 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
Userusedsofthardgraceusedsofthardgrace
root--175419 0 014679 0 0
bin -- 18000 0 0735 0 0
uucp-- 729 0 0 23 0 0
man --57 0 0 10 0 0
user1 -- 13046 15360 1920080615002250
user2 --28385120640037710001500

Quotaon 以及 Quotaoff

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


推荐阅读
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • 本文介绍了在Mac上安装Xamarin并使用Windows上的VS开发iOS app的方法,包括所需的安装环境和软件,以及使用Xamarin.iOS进行开发的步骤。通过这种方法,即使没有Mac或者安装苹果系统,程序员们也能轻松开发iOS app。 ... [详细]
  • 涉及的知识点-ViewGroup的测量与布局-View的测量与布局-滑动冲突的处理-VelocityTracker滑动速率跟踪-Scroller实现弹性滑动-屏幕宽高的获取等实现步 ... [详细]
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • 本文讨论了在openwrt-17.01版本中,mt7628设备上初始化启动时eth0的mac地址总是随机生成的问题。每次随机生成的eth0的mac地址都会写到/sys/class/net/eth0/address目录下,而openwrt-17.01原版的SDK会根据随机生成的eth0的mac地址再生成eth0.1、eth0.2等,生成后的mac地址会保存在/etc/config/network下。 ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
  • OCI连接MySQL_PLSQL Developer连接远程数据库OCI客户端安装方法
    本文介绍了使用OCI客户端连接MySQL和PLSQL Developer连接远程数据库的安装方法,避免了在本地安装Oracle数据库或类似的开发套件的麻烦,同时解决了PLSQL Dev连接远程Oracle时的配置问题。 ... [详细]
  • 开发笔记:spring boot项目打成war包部署到服务器的步骤与注意事项
    本文介绍了将spring boot项目打成war包并部署到服务器的步骤与注意事项。通过本文的学习,读者可以了解到如何将spring boot项目打包成war包,并成功地部署到服务器上。 ... [详细]
  • 本文介绍了Windows Vista操作系统中的用户账户保护功能,该功能是为了增强系统的安全性而设计的。通过对Vista测试版的体验,可以看到系统在安全性方面的进步。该功能的引入,为用户的账户安全提供了更好的保障。 ... [详细]
  • 引号快捷键_首选项和设置——自定义快捷键
    3.3自定义快捷键(CustomizingHotkeys)ChemDraw快捷键由一个XML文件定义,我们可以根据自己的需要, ... [详细]
  • 文章目录一、awk简介二、awk的两种形式语法格式1options:2command:三、awk工作原理四、记录与字段相关内部变量:五、格式化输出:printf函数六、awk模式和 ... [详细]
author-avatar
jack1881的天空_925
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有