<!-- $Id: quotas.sgml,v 1.6 1997-08-25 08:36:03 max Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.8 -->
<!-- This is an SGML document in the linuxdoc DTD describing
disk quotas under FreeBSD. By Mike Pritchard, 1996.
<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN">
<article>
<title> ディスク クォータ
<author> Mike Pritchard <tt/mpp@FreeBSD.org/
<date> 26 February 1996, (c) 1996
<abstract> このドキュメントは FreeBSD 上での ディスククォータ
(ディスクスペースの使用量制限) についての設定/管理方法について
記述されています。</abstract>
<toc>
-->
<chapt><heading>ディスク クォータ<label id="quotas"></heading>
<p><em>原作: &a.mpp;<newline>
26 February 1996 </em>.
<p><em>訳者: &a.mihoko;<newline>
6 September 1996 </em>.
クォータシステムは、オペレーティングシステムのオプション機能で、
各ファイルシステム上で ユーザやグループのメンバが使用するディスク
スペースの総量を規制したり、作成できるファイルの個数を制限したりす
ることができます。
この機能は、各ユーザ、各グループごとに使用できる資源の総量を制限で
きるようなタイムシェアリングシステム上でもっともよく使用されていま
す。これは、一人のユーザが、使用可能な全てのディスクスペースを使い
きってしまうことを防止できます。
<sect><heading>ディスククォータを使用するための設定</heading>
<p>ディスククォータを使用しようとする前に、あなたが使用しているカー
ネルで、クォータが組み込まれているかどうかを確認する必要があります。
クォータを使用できるカーネルを構築するためには、カーネルコンフィギュ
レーションファイルに、次の行を追加してください:
<verb>
options QUOTA
</verb>
標準のGENERIC カーネルでは、この機能は有効になっていません。
したがって、ディスククォータを使用するためには、
カーネルをコンフィグレーションして構築しなおし、そのカーネ
ルをインストールしなければいけません。カーネルの構築方法について
の詳細情報は、
<ref id="kernelconfig" name="FreeBSD カーネルのコンフィグレーション">
を参照してください。
<p>次に、ファイル <tt>/etc/sysconfig</tt> の中で、ディスククォー
タ機能を、使用可能に設定する必要があります。
そのためには、以下の行を変更します:
<verb>
quotas=NO
</verb>
を次のように:
<verb>
quotas=YES
</verb>
<p>FreeBSD 2.2.2 以降では, <tt>/etc/rc.conf</tt> でこの設定を行いま
す. また, 変数の変更は以下のようにします.
<verb>
check_quotas=YES
</verb>
<p>最後に、各ファイルシステム毎にディスククォータを設定する
ために、ファイル <tt>/etc/fstab</tt> を編集する必要があります。
全てのファイルシステムに対して、ユーザ又はグループのいずれかのクォー
タを設定することも、ユーザとグループの両方のクォータを設定すること
もできます。
<p>ファイルシステム上で、ユーザ毎のクォータを設定するためには、
<tt>userquota</tt> オプションを、ファイル <tt>/etc/fstab</tt> の中
で、クォータを設定したいファイルシステムのエントリののオプションフィー
ルドに追加してください。 例えば:
<verb>
/dev/sd1s2g /home ufs rw,userquota 1 2
</verb>
<p>同様に、グループのクォータを設定するためには、
<tt>groupquota</tt> オプションを <tt>userquota</tt> の代わりに使用
してください。ユーザとグループの両方のクォータを設定するためには、
次のようにエントリを変更してください:
<verb>
/dev/sd1s2g /home ufs rw,userquota,groupquota 1 2
</verb>
<p>デフォルトでは、クォータファイルは ファイルシステムの root ディ
レクトリ上に、ユーザとグループのクォータに対して それぞれ
<tt>quota.user</tt> と <tt>quota.group</tt> という名前で置いてあり
ます。詳細情報は、<tt>man fstab</tt> を御覧ください。
man ページには、クォータファイルを別な場所に置くことができると書い
てありますが、さまざまな クォータユーティリティのうち、この機能を
適切に処理できていないものがあるので、クォータファイルをデフォルト
の場所以外に置くことは勧められません。
<p>ここまで準備ができたら、新しいカーネルを使って、システムを立ち
上げ直してください。
<tt>/etc/rc</tt> ファイルが、自動的に適切なコマンドを起動してくれ
、あなたが <tt>/etc/fstab</tt> ファイルで使用可能にした全てのクォー
タに対して、初期クォータファイルを作成してくれます。
したがって、手動で サイズ 0 のクォータファイルを作成する必要はあり
ません。
<p>通常の作業の流れでは、手動で <tt>quotacheck</tt>、
<tt>quotaon</tt>、または <tt>quotaoff</tt> コマンドを起動すべきで
はありません。しかしながら、それらの作業について詳しく知りたい場合に
は、man ページを御覧ください。
<sect><heading>クォータ制限の設定</heading>
<p>一旦システムのクォータを有効に設定したら、
本当にクォータが使用可能になっていることを確かめてください。
これを簡単に確かめるには、<tt>quota -v</tt> コマンドを実行してみて
ください。ディスク使用量の総計と、クォータが設定されている各ファイ
ルシステム毎の現在のクォータ制限が表示されます。
<p>さてこれで、<tt>edquota</tt> コマンドによって、クォータ制限をか
ける準備ができました。
<p> ユーザまたはグループが使用できるディスクスペースの総計や、作成
することのできるファイル数に制限をかけるためのオプションがいくつか
あります。 ディスクスペース容量規制 (ブロッククォータ) または ファイ
ル数制限 (iノードクォータ) またはその両方を行うことができます。
これらの個々の制限は、二つのカテゴリ、すなわち ハード制限とソ
フト制限、でもっと細かく分類できます。
<p>ハード制限は越えることができません。ユーザがハード制限に到達す
ると、該当するファイルシステム上でディスクスペースを確保することが
できなくなります。 例えば、もしユーザがファイルシステム上で 500 ブ
ロックのハード的制限をされていて、かつ、現在、490 ブロック使用して
いたとすると、ユーザはあと 10 ブロックしか確保できません。
11ブロック目を確保しようとすると、失敗します。
<p>一方、ソフト制限は、定められたある一定の期間以内ならば制限を越
えることができます。この一定期間は、猶予期間と呼ばれています。
猶予期間のデフォルトは 1週間です。もし、ユーザが猶予期間を過ぎても
ソフト制限を越えて使用し続けていた場合には、ソフト制限はハード制限
に切り替わり、もはやこれ以上は、ディスクスペースを確保できなくなり
ます。ユーザのディスク使用量がソフト制限以下に戻った時に、猶予期間
がリセットされます。
<p>以下は、<tt>edquota</tt> コマンドを実行した時の出力例です。
<tt>edquota</tt> コマンドが起動されると、<tt>EDITOR</tt> 環境変数
で定義されたエディタ、または、<tt>EDITOR</tt> 環境変数が設定されて
いない場合には <tt>vi</tt> エディタが起動され、クォータ制限を編集
することができます。
<verb>
# edquota -u test
Quotas for user test:
/usr: blocks in use: 65, limits (soft = 50, hard = 75)
inodes in use: 7, limits (soft = 50, hard = 60)
/usr/var: blocks in use: 0, limits (soft = 50, hard = 75)
inodes in use: 0, limits (soft = 50, hard = 60)
</verb>
通常は、クォータが設定されているファイルシステム毎に2行の表示が
行われます。1行は、ブロック制限に関する情報で、もう1行は、i ノード
制限に関する情報です。クォータ制限の値を変更したい値に書き換えてく
ださい。例えば、ユーザのブロック制限を、50 ブロックまでのソ
フト制限と 75 ブロックまでのハード制限から、500 ブロックまでのソフ
ト制限と 600 ブロックまでのハード制限にしたい場合は、
次のように書き換えます:
<verb>
/usr: blocks in use: 65, limits (soft = 50, hard = 75)
</verb>
を次のように:
<verb>
/usr: blocks in use: 65, limits (soft = 500, hard = 600)
</verb>
新しいクォータ制限は、エディタを終了した時に置き換えられます。
<p>uid の範囲によってクォータを設定する個とも可能です。
そのためには <tt>edquota</tt> コマンドで、<tt>-p</tt> オプションを
使用します。まずはじめに、かけたいクォータ制限を、一人のユーザに対
して設定します。それから次のコマンドを実行します
<tt>edquota -p protouser startuid-enduid</tt>。
例えば、もし、ユーザ <tt>test</tt> がクォータ制限をかけられていた
とすると、次のコマンドは、同じ制限を、uid 10,000 から 19,999 まで
のユーザにかけることができます:
<verb>
edquota -p test 10000-19999
</verb>
<p>uid の範囲によって制限をかけることができる機能は、2.1 がリリー
スされたあとに追加されました。もし、2.1 のシステム上で、この機能を
必要とする場合には、新しい edquota を入手する必要があります。
<p>詳細情報は <tt>man edquota</tt> を御覧ください。
<sect><heading>クォータ制限およびディスク使用状況のチェック</heading>
<p>クォータ制限およびディスク使用状況をチェックするには、
<tt>quota</tt> または <tt>repquota</tt> コマンドを使用することがで
きます。<tt>quota</tt> コマンドは、各ユーザ、各グループ毎のクォー
タ制限およびディスク使用状況をチェックすることができます。
スーパーユーザだけが、他のユーザまたは自分が所属していないグループに
関するクォータ制限とディスク使用状況を調べることができます。
<tt>repquota</tt> コマンドは、クォータが設定されているファイルシス
テムに対する、全てのクォータ制限およびディスク使用状況の総計を表示
します。
<p>以下は、2つのファイルシステム上でクォータ制限がかけられているユー
ザに対して <tt>quota -v</tt> コマンドを実行した出力結果の例です。
<verb>
Disk quotas for user test (uid 1002):
Filesystem blocks quota limit grace files quota limit grace
/usr 65* 50 75 5days 7 50 60
/usr/var 0 50 75 0 50 60
</verb>
上の例では、/usr ファイルシステム上で、このユーザは現在
50 ブロックまでのソフト制限を 15 ブロック超過して使用しており、
残り 5 日間の猶予期間を設定されています。
アスタリスク (*) は、ユーザが現在クォータ制限を越えていることを示
しています。
<p>通常、ユーザがディスクスペースを全く使用していないファイルシス
テムは、 たとえ そのファイルシステムにクォータ制限が設定されていた
としても、<tt>quota</tt> コマンドによる出力では表示されません。
<tt>-v</tt> オプションを付けると、上の例の <tt>/usr/var</tt> ファ
イルシステムのように、これらのファイルシステムも表示します。
<sect><heading>* NFS ファイルシステム上でのクォータ</heading>
<p>このセクションはまだ作成中です。