next up previous contents
Next: 6.4.2.4 /etc/mnttab Up: 6.4.2 クライアント側の設定 Previous: 6.4.2.2 mountの解除

6.4.2.3 /etc/vfstab

mountコマンドも、手で実行するかわりにあらかじめ設定ファイルに記述して おけば、立ち上げ時に自動的に必要なファイルシステムがマウントされます。 このファイルは、System V系では /etc/vfstabです。ローカルなファイルシス テムもNFSのファイルシステムも両方記述することができます。 vfstabは、virtual file system tableの略です。 BSD系のUNIXでは /etc/fstab というファイル名になっています。

以下に、/etc/vfstabの例をあげます。

#device      device      mount      FS   fsck   mount   mount
#to mount    to fsck     point      type pass   at boot options
#
/proc      -      /proc     proc   -   no   -
fd         -      /dev/fd   fd     -   no   -
swap       -      /tmp      tmpfs  -   yes  -
#
/dev/dsk/c0t3d0s0   /dev/rdsk/c0t3d0s0  /    ufs    1  no   -
/dev/dsk/c0t3d0s6   /dev/rdsk/c0t3d0s6  /usr ufs    2  no   -
/dev/dsk/c0t3d0s1       -               -    swap   -  no   -
#
nfsipc1:/share/openwin  -   /usr/openwin2    nfs    -  yes   soft,bg      
nfsipc1:/share/man      -   /usr/share/man   nfs    -  yes   soft,bg
nfsipc1:/share/opt      -   /opt             nfs    -  yes   soft,bg

ファイル/etc/vfstabの書式は、次の通りです。

device     device      mount     FS     fsck   mount     mount
to mount   to fsck     point     type   pass   at boot   options
device to mount
後で見るNFSの場合、ここは、ホスト名: ディレクトリという 形をしています。ローカルディスクをマウントする場合 /dev/dsk/c0t3d0s?という形になります。
device to fsck
fsckするデバイス名を指定します。 形をしています。fsckは、rawデバイスにたいして行なわれますので、 ここは、ローカルディスクの場合 /dev/rdsk/c0t3d0s?という形になります。NFSマウントなどufs以外の ファイルシステムの場合には、 fsckは行ないませんので、ここには、'-'を記述します。
mount point
filesystemがマウントされるべきディレクトリの フルパス名です。
FS type
NFSマウントの場合には nfs が、ローカルディスクを マウントする場合には、ufsがはいります。この他に、Solarisがサポート しているファイルシステムには、hsfs, pcfs, proc, swap, tmpfs,cachefs などがあります。
fsck pass
fsckのパスを示します。このフィールドは、 nfs等、ufs以外のファイルシステムの場合には、'-' となります。
mount at boot
boot時にマウントするか否かを、'yes', 'no' で指定します。
options
様々のマウントオプションがあります。 オプションについては、NFSの章を参照してください。

この/etc/vfstabに記述されたファイルシステムを手動でマウントする場合は、ファ イルシステムのタイプは省略できます。また、マウントポイントとデバイス名 のどちらか片方も省略できます。これらの情報は自動的に/etc/vfstabから検 索されるからです。 たとえば、上の/etc/vfstabの例で言えば

mount /opt
などのコマンドも有効だということです。

さて、ここで問題を一つ。mountコマンドは/binディレクトリ、 つまりルートスライスにあるのが普通ですが、ではシステムの起動時、ルート ファイルシステムがマウントされていない時点でどうやってmountコマンド やfsckコマンドが使用されるのでしょう。ちょっとした矛盾のようですが、 じつはシステムの立ち上がりの時はルートパーティションのみがmountコマン ドによらずにリードオンリでマウントされます。その後ファイルシステムに異 常がなければ改めてリード・ライト可能でマウントし直されるのです。 もし/etc/vfstabの/usrファイルシステムの記述などが間違っていて/usr以下 がマウントできず、ルートファイルしシステムもリードオンリのままになってし まった場合は、remountオプションを使用してルートファイルシステムをmount し直します。そして、/etc/vfstabを修正すれば良いわけです。

NFSの場合はファイルシステムのタイプにnfsを指定することになります。 このファイルに記述されたファイルシステムに関しては、mountコマンドを用 いる際に情報を一部省略できます。また後ほど詳しく述べますが、 このファイルに記述された全てのファイルシステムのマウントを手動で行なう場合は mountall、全てのファイルシステムのマウントを解除するにはumountallコマンドを 用います。

しかしながら、ローカルファイルシステムに関しては、OSのインストール時に このvfstabファイルは正しく設定される場合がほとんどであり、 ハードディスクを増設するまでは特にこのファイルの内容を変更する必要は ないでしょう。また、NFSファイルシステムについては、このvfstabファイルで 記述するより、次節で扱うオートマウントで管理した方がよいでしょう。



Noriyo Kanayama