3.5. ディスク構成

ファイルを見つけるために FreeBSD が使用する構成の一番小さな単位はファイル名です。 ファイル名は、大文字と小文字を区別します。 このことは readme.txt および README.TXT が異なる二つのファイルであることを意味します。 FreeBSD はそのファイルがプログラム、または文書、 あるいはその他の形式かどうかを決定するために拡張子を使用しません。

ファイルはディレクトリ内に格納されます。 ディレクトリはファイルを一つも含んでいないかもしれせんし、 または数百のファイルを含んでいるかもしれません。 ディレクトリはまた別のディレクトリを含むことができます。 つまり、ディレクトリの階層構造を構築することができます。 このことにより、データ構造がはるかに簡単になります。

ファイルおよびディレクトリは、 必要な他のディレクトリ名とスラッシュ (/) を後に続けて ファイル名またはディレクトリ名を与えることによって参照されます。 foo ディレクトリがあって、その中に bar ディレクトリがあるとします。 そして、その中に readme.txt があるとすると、 ファイルへのフルネーム、またはパスfoo/bar/readme.txt となります。

ディレクトリおよびファイルはファイルシステム内に格納されます。 どのファイルシステムは、そのファイルシステムのための ルートディレクトリ とよばれる、 まさに頂点の位置にちょうど一つのディレクトリを含んでいます。 このルートディレクトリは他のディレクトリを含むことができます。

これまでのところ、これはあなたの使ったことのある他の OS とおそらく似ているかもしれません。少し違いがあります。 たとえば、MS-DOS® ではファイル名とディレクトリ名を分けるのに \ を使います。 一方、Mac OS® では : を使います。

FreeBSD はパス内にドライブレターまたは他のドライブ名を使いません。 あなたは FreeBSD で c:/foo/bar/readme.txt とは書かないでしょう。

その代わり、一つのファイルシステムは ルートファイルシステムとして設計されています。 ルートファイルシステムのルートディレクトリは / として参照されます。それから、他のすべてのファイルシステムは、 ルートファイルシステム以下に マウント されます。 あなたが FreeBSD システムでどんなに多くのディスクを使用しても、 すべてのディレクトリは、 同じディスクの一部であるように見えるので問題ありません。

A,B および C と呼ばれる三つのファイルシステムがあると仮定しましょう。 それぞれのファイルファイルシステムには一つのルートディレクトリがあり、 A1, A2 と呼ばれている二つの他のディレクトリを含んでいます (同様に B1, B2 および C1, C2 があります)。

A をルートファイルシステムとします。 このディレクトリになにが含まれているか見るために ls コマンドを使うと、 A1 および A2 の二つのサブディレクトリが現れるでしょう。 ディレクトリツリーは以下のようになります。

ファイルシステムはファイルシステム内のディレクトリにマウントしなければいけません。 それでは、A1 ディレクトリに B ファイルシステムをマウントすると仮定します。 B のルートディレクトリは A1 に置き換えられ、 そして B 内のディレクトリがそれに応じて現れます。

B1 または B2 内にあるどんなファイルも、必要なときに /A1/B1 または /A1/B2 で到達できます。 /A1 にあったすべてのファイルは一時的に隠されました。 それらは B が A からアンマウントされたら再び現れるでしょう。

もし BA2 にマウントされていたら、この図のようになります。

そして、パスはそれぞれ /A2/B1 および /A2/B2 となるでしょう。

ファイルシステムは互いのファイルシステム上にもマウントできます。 上記の最後の例に続けて、C ファイルシステム は B ファイルシステム内の B1 ディレクトリ上にマウントできます。 次の図のようになります。

または CA1 の下の A ファイルシステムに直接マウントできます。

もしあなたが MS-DOS® を使いなれているなら、 まったく同じではありませんが、これは join コマンドと 似ています。

これは、通常あなた自身が心配する必要のあるものではありません。 一般的に、FreeBSD をインストールするときにファイルシステムを作成し、 どこにマウントするか決定します。そして、 新しいディスクを追加しなければそれらを変更することはありません。

一つの大きなファイルシステムを用意し、 他のファイルシステムを作成する必要としないことはまったくもって可能です。 この方法にはいくつかの短所と一つの利点があります。

マルチファイルシステムの利点
シングルファイルシステムの利点

ファイルシステムはパーティション内に含まれています。 FreeBSD の UNIX® 遺産のために、 これは普段使われるパーティション (例えば MS-DOS® パーティション) という用語の意味とは違う意味を持っています。 それぞれのパーティションは a から h までの文字で区別されます。 それぞれのパーティションは、 一つのファイルシステムだけを含むことができます。 このことは、ファイルシステムがファイルシステムの階層上の典型的なマウントポイント、 または含まれているパーティションの文字によって記述されることを意味します。

FreeBSD は スワップ領域 にもまたディスク領域を使用します。 スワップ領域は FreeBSD に 仮想メモリ を提供します。 これはあなたのコンピュータが、 実際に搭載している以上のメモリがあるかのように振舞います。 FreeBSD がメモリを使い果たしたときに、 現在使用されていないデータのいくつかをスワップ領域に移動し、 そのデータが必要となったときに (その他のデータをスワップ領域に移動させてから) メモリ内に移動しなおします。

いくつかのパーティションはある慣習と関係づけられています。

パーティション慣習
a通常、ルートパーティションを含みます。
b通常、スワップ領域を含みます。
c通常、スライス全体と同じサイズです。 これは、スライス全体にアクセス必要のあるユーティリティ (たとえば、ひどいブロックスキャナ) が、 c パーティションにアクセスすることを可能にします。通常、 このパーティション内にファイルシステムを作成しないでしょう。
dd パーティションは、 それに関連づけられた特別な意味を持っていましたが、 今は無いので、普通のパーティションとして動作するでしょう。

ファイルシステムを含んだそれぞれのパーティションは、FreeBSD が スライス と呼ぶものの中に格納されます。 スライスは FreeBSD の用語で、 普通はパーティションと呼ばれるものです。 もう一度言及しますが、これは FreeBSD の UNIX® 背景によるものです。 スライスは 1 から 4 までの番号がつけられます。

スライス番号は 1 から始まり s を前につけられて、デバイス名の後に続きます。 したがって、da0s1 は一番目の SCSI ドライブ上の 一番目のスライスです。 ディスク上に四つの物理スライスだけが存在できます。しかし、 適切な種類の物理スライス内に論理スライスをもつことができます。 これらの拡張されたスライス番号は 5 から始まります。したがって、 ad0s5 は、一番目の IDE ディスク上の一番目の拡張スライスです。 これらのデバイスは、 スライスを占有することを予期するファイルシステムによって使用されます。

スライスや 危険な専用 の物理ドライブ、 そして他のドライブは a から h までの文字として表される パーティション を含んでいます。 この文字はデバイス名に追加されます。したがって、 da0a は一番目の 危険な専用 da ドライブ上の a パーティションです。 ad1s3e は、 二番目の IDE ディスク上の 三番目のスライス内にある五番目のパーティションです。

最後に、システム上のそれぞれのディスクは識別されます。 ディスク名はどの種類のディスクであるかを示す記号ではじまり、 どのディスクかを示す数字が続きます。 スライスとは違いディスクの番号づけは 0 から始まります。 共通の記号は 表3.1「ディスクデバイス記号」 に示されます。

パーティションを参照するときには、 FreeBSD はパーティションを含むスライスおよびパーティションも指定することを必要とします。 そしてスライスを参照するときはディスク名も参照しないといけません。 したがって、ディスク名、s、スライス番号、 そしてパーティション文字を並べることによってパーティションを参照します。 例3.1「ディスク名、スライス名、パーティション名のサンプル」に例があります。

例3.2「ディスクの概念的構成」 は理解をより明らかにすることを助けるための、 ディスク構成の概念のモデルを示します。

FreeBSD をインストールするために、 まずはじめにディスクスライスの設定をし、 次に FreeBSD に用いるスライス内のパーティションを作成し、 それからそれぞれのパーティション内にファイルシステム (またはスワップ領域) を作成し、 ファイルシステムがどこにマウントされるか決定しなければいけません。

表3.1 ディスクデバイス記号
記号意味
adATAPI (IDE) ディスク
daSCSI ダイレクトアクセスディスク
acdATAPI (IDE) CDROM
cdSCSI CDROM
fdフロッピーディスク

例3.1 ディスク名、スライス名、パーティション名のサンプル
記号意味
ad0s1a一番目の IDE ディスク (ad0) 上の一番目のスライス (s1) 内の一番目のパーティション (a)。
da1s2e二番目の SCSI ディスク (da1) 上の二番目のスライス (s2) 内の五番目のパーティション (e)。

例3.2 ディスクの概念的構成

これはシステムに接続された一番目の IDE ディスクの FreeBSD から見た図を示します。 ディスクサイズは 4 GB と仮定し、 2 GB のスライス (MS-DOS® でいうパーティション) が二つあるとします。 一番目のスライスは MS-DOS® ディスクの C: を含んでいます。 そして、二番目のスライスは FreeBSD のディスクを含んでいます。 これは FreeBSD インストーラが三つのデータパーティションと一つのスワップパーティションを作成した例です。

三つのパーティションはそれぞれファイルシステムを含んでいます。 a パーティションはルートファイルシステムに使用され、 e パーティションは /var ディレクトリ階層に、 f パーティションは /usr ディレクトリ階層に使用されるでしょう。


本文書、および他の文書は ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ からダウンロードできます。

FreeBSD に関する質問がある場合には、 ドキュメント を読んだ上で <questions@FreeBSD.org> まで (英語で) 連絡してください。

本文書に関する質問については、 <doc@FreeBSD.org> まで電子メールを (英語で) 送ってください。