ファイルシステムは、ファイルとディレクトリから構成されます。すべてのファイルシステムは、単一のルートディレクトリから始まります。ルートディレクトリと、その下にあるディレクトリは、任意数のファイルやサブディレクトリを含むことができます。ファイルシステムは、ディレクトリが枝であり、ファイルが葉であるような逆さまの木のように見えることがあります。ファイルシステムはフロッピーディスク、ハードディスクドライブ、CD-ROMなどの大容量記憶装置上に存在します。
たとえば、典型的な場合、DOSやWindowsマシン上のフロッピーディスクドライブはA:\ と表されます。これは、デバイス(A:)と、このデバイス上のルートディレクトリ(\)の両方を表しています。典型的な場合、同じシステム上のプライマリハードディスクドライブは「C」ドライブと表記されます。なぜならば、先頭ハードディスクドライブのデバイス指定がC:だからです。Cドライブ上のルートディレクトリを指定するには、C:\を使用します。
このような表記方法を使用した場合には、2つのファイルシステム、つまりA:上のファイルシステムとC:上のファイルシステムが存在します。DOS/Windowsのファイルシステム上で任意の ファイルを指定するためには、ファイルシステムのあるデバイスを明示的に指定するか、またはそのファイルが現在のドライブになければいけません。
Linuxの場合には、複数の大容量格納記憶装置上にあるファイルシステムを連結して、1つの大規模ファイルシステムにまとめることができます。これは、あるデバイスのファイルシステムを別のデバイスのファイルシステムのディレクトリの「下」に配置することで実現しています。たとえば、フロッピーディスクドライブのルートディレクトリは、DOSマシン上ではA:\と表記されますが、Linuxシステム上では/mnt/floppyとしてアクセスすることができます。
このようにしてファイルシステムを統合する機能はマウントとして知られます。デバイスをマウントすると、ユーザーからアクセスできるようになります。アクセス可能になったファイルシステムを含む、マウントされたデバイスの「上にある」ディレクトリはマウントポイントとして知られます。前出の例では、/mnt/floppyがフロッピーディスクドライブのマウントポイントです。マウントポイントの命名に関しては、(通常の規則以外に)何も制限がないことに注意してください。したがって、フロッピーディスクを/long/path/to/the/floppy/driveにマウントすることもできます。
1つ気をつける必要があるのは、デバイスのファイルとディレクトリは、すべてがマウントポイントに対して相対的であるということです。以下の例を考えてみましょう。
Linuxシステム
/— システムのルートディレクトリ
/foo— CD-ROMのマウントポイント
CD-ROM
/— CD-ROMのルートディレクトリ
/images— CD-ROM上のイメージを含むディレクトリ
/images/old— 古いイメージを含むディレクトリ
したがって、上記が個別のファイルシステムを記述しているとした場合にCD-ROMを/foo にマウントすると、オペレーティングシステムのディレクトリ構造は次のようになります。
Linuxシステム(CD-ROMをマウントした場合)
/— システムのルートディレクトリ
/foo— CD-ROMのルートディレクトリ
/foo/images— CD-ROM上のイメージを含むディレクトリ
/foo/images/old— 古いイメージを含むディレクトリ
ファイルシステムをマウントする際には、rootとしてログインしていることを確認してください。必要であれば、シェルプロンプトに対してsuと入力し、次にrootパスワードを入力してrootになってください。rootとなったら、mountコマンドに、デバイスとマウントポイントを指定して実行します。たとえば、フロッピーディスクドライブを/mnt/floppy上にマウントするには、コマンド mount /dev/fd0 /mnt/floppyを入力します。
インストール時に、Red Hat Linuxは/etc/fstabを作成します。このファイルには、デバイスとマウントポイントに関する情報が含まれます。このファイルのメリットは、マウント用のコマンドを簡略化できること、システムの起動時に自動的にマウントするファイルシステムを制御できることです。
mountコマンドは、マウントポイントやデバイスのどちらかしか指定されなくても、/etc/fstabに含まれる情報を使って適切にマウントすることができます。このファイルを手作業で修正することも、Linuxconfを使用して修正することもできます。
ここでは、現在のディレクトリ構造を調べることから始めます。
Linuxconfのツリーウィンドウの[Config]タブで、File systems=>Access local drive を選択します。
この画面には、以下のフィールドがあります。
Source――物理ハードウェア。hdはIDEハードディスクドライブ、fdはディスケットドライブ、cdromはCD-ROMを表します。SCSIドライブがある場合には、sdと表示されます。同一タイプの複数ドライブは文字で区別されるので、hdaは先頭のIDEドライブ、hdbは2番目のIDEドライブを表します。場合によっては、これらの文字の後に番号が表示されます。ハードディスクドライブの場合、その番号はドライブ上のパーティションを表します。フロッピーディスクドライブの場合、この番号は実際のユニットを表します。
Mount point――マウント後に、どのドライブ(または他のデバイス)がアクセス可能かを示すファイルシステム内の場所。
FsType――ファイルシステムのタイプ。標準的なLinuxパーティションでは、extファイルシステムタイプが使用されます。vfatは、長いファイル名をサポートしたWindows 9xファイルシステムを表し、fatは従来の8.3形式のファイル名をサポートしたDOSファイルシステムです。iso9660ファイルシステムタイプは、CD-ROMドライブを表します。
注意 | |
---|---|
Red Hat Linux 7.1 は、vfatファイルシステムタイプを使用することでFAT32ファイルシステムにアクセスすることができます。 |
Size――ファイルシステムのサイズ(MB単位)。表示されないこともあります。
Partition type――このパーティション上で使用されるファイルシステムの説明。表示されないこともあります。
Status――デバイスがマウントされているかどうか。
ネットワーク上の別のマシンに属するファイルシステムを利用することもできます。その範囲を1つのディレクトリからボリューム全体までとすることができます(NFSファイルシステム)。それらのパーティションについては、SizeやPartition typeに関する情報を利用することはできません。NFSファイルシステム(利用可能な場合)に関する追加情報にアクセスするには、Linuxconfのツリーウィンドウの[Config]タブで、File systems =>Access nfs volumeを選択します。
この画面は、[Local Volume]画面(Figure 14-9を参照)と類似していますが、各エントリについて与えられる情報に関して、いくつかの違いがあります。
Source――ファイルシステムを提供するマシンの名前の後にリモートディレクトリを付けたもの。たとえばfoo:/var/spool/mailの場合、fooはディレクトリを提供するマシンであり、/var/spool/mailは提供されるディレクトリです。
FsType — これは常に"nfs"となります。
NFS(Network File System)は、ローカルファイルシステムの一部をネットワーク経由で共有するための手段です。共有するセクションは、1つのディレクトリほどの大きさでも、大きなディレクトリ階層に属する数千のファイルを含むものでもかまいません。たとえば、多くの会社には、各ユーザーのローカルシステムへのNFSマウントとして提供された、個人のメールファイルを貯えたメールサーバーがあるでしょう。
NFSマウントを追加するには、以下のようにします。
Linuxconfのツリーウィンドウの[Config]タブで、File systems=>Access nfs volume を選択します。
[NFS volume]画面で、Add ボタンをクリックします。
次に、[Base]タブ上の3つのフィールドに必要な情報を入力します(Figure 14-10を参照)。
Server――目的のファイルシステムを格納するマシンのホスト名 (たとえば、foo.bar.com)。
Volume――追加するファイルシステム (たとえば、/var/spool/mail)。
Mount point――システム内のどこからリモートのファイルシステムにアクセスできるようにするか (たとえば、/mnt/mail)。
これでマウントを獲得するために必要なものがすべて作成されました。Linuxconf は/etc/fstabファイルを更新します。詳細については、[Volume specification]画面上のHelpボタンをクリックしてヘルプを参照するか、mountのmanページを参照してください。
情報を入力したら、Acceptボタンをクリックします。