ファイルシステムを作成したら、使用可能にする必要があります。ファイルシステムを使用可能にするには、マウントします。マウントしたファイルシステムは、システムディレクトリツリー内の指定したマウントポイントに接続され、システムに使用できるようになります。ルート (/) ファイルシステムは常にマウントされています。他のファイルシステムは、ルート (/) ファイルシステムに接続したり切り離したりできます。
/etc/vfstab (仮想ファイルシステムテーブル) ファイル内でエントリを作成します。/etc/vfstab ファイルには、システムがマルチユーザーモードでブートされると自動的にマウントされるファイルシステムのリストが入っています。
mount コマンドを使用してコマンド行からマウントします。
ファイルシステムをサーバーから共有する場合に、クライアントは次の 3 つの方法のいずれかで NFS ファイルシステムとしてマウントできます。
システムがマルチユーザーモードでブートされるときにファイルシステムが自動的にマウントされるように、/etc/vfstab ファイルにエントリを追加します。
AutoFS を使用して、ユーザーがディレクトリに入るとき (mount) や出るとき (umount) に、ファイルシステムを自動的にマウントまたはマウント解除します。AutoFS については、『NFS の管理』を参照してください。
コマンド行から mount コマンドを使用します。
CD-ROM 上のファイルシステムは、CD-ROM を挿入するとマウントされます。フロッピーディスク上のファイルシステムは、volcheck(1) コマンドを実行してマウントします。
ファイルシステムをマウントする場合の前提条件は次のとおりです。
スーパーユーザーでなければならない。
ローカルシステム上に、ファイルシステムをマウントするマウントポイントがなければならない。マウントポイントは、マウントされたファイルシステムが接続されるディレクトリである。
ファイルシステムや多数のファイルシステムをマウントしたかどうかを検査するには、mount コマンドからの出力を調べます。この手順については、「どのファイルシステムがマウントされているかを調べる方法」を参照してください。
表 28-1 は、ファイルシステムのマウントとマウント解除に使用する /usr/sbin ディレクトリ内のコマンドを示しています。
表 28-1 ファイルシステムのマウントとマウント解除に使用するコマンド
コマンド |
説明 |
---|---|
mount(1M) |
ファイルシステムとリモート資源をマウントする |
mountall(1M) |
/etc/vfstab ファイル内で指定されたすべてのファイルシステムをマウントする。マルチユーザー実行状態に入ると、mountall コマンドが自動的に実行される |
umount(1M) |
ファイルシステムとリモート資源をマウント解除する |
umountall(1M) |
/etc/vfstab ファイル内で指定されたすべてのファイルシステムをマウント解除する |
umount コマンドは、整合性のない読み取りや書き込み用のファイルシステムはマウントされません。mount または mountall コマンドからエラーメッセージが表示される場合は、ファイルシステムをチェックする必要があります。ファイルシステムをチェックする方法については、第 31 章「ファイルシステムの完全性チェック」を参照してください。
umount コマンドでは、使用中のファイルシステムはマウント解除されません。ファイルシステムは、ユーザーがそのディレクトリ内にいる場合や、プログラムがその中のファイルを開いている場合に使用中と見なされます。
表 28-2 は、mount コマンドの -o オプションで指定できる汎用マウントオプションを示しています。複数のオプションを指定する場合は、-o ro,nosuid のように (空白ではなく) コンマで区切ります。
表 28-2 汎用マウントオプション
オプション |
ファイルシステム |
説明 |
---|---|---|
-rw | ro |
CacheFS、NFS、PCFS、UFS、S5FS |
読み取り/書き込みまたは読み取り専用と指定する。このオプションを指定しなければ、デフォルトは読み取り/書き込み |
-nosuid |
HSFS、NFS、UFS |
setuid を実行不可にし、ファイルシステム上のデバイスが開かれないようにする。デフォルトでは、setuid は実行可能であり、デバイスを開くことができる |
-remount |
NFS、UFS、S5FS |
rw とともに、読み取り/書き込み権を持つファイルシステムをマウントし直す |
-f |
UFS、S5FS |
/etc/mnttab 内のエントリを作成するが、実際にはファイルシステムをマウントしない |
-n |
UFS、S5FS |
/etc/mnttab 内でエントリを作成せずにファイルシステムをマウントする |
-bg | fg |
NFS |
最初の試行に失敗すると、バックグラウンド内 (bg) またはフォアグラウンド内 (fg) で再試行する。デフォルトは fg |
-soft | hard |
NFS |
サーバーが応答しない場合の手続きを指定する。soft は、エラーが返されることを示す。hard は、サーバーが応答するまで再試行要求が継続されることを示す。デフォルトは hard |
-intr | nointr |
NFS |
ハードマウントされたファイルシステムに関する応答を待つ間にハングしたプロセスを、キーボード割り込みで消去できるか指定する。デフォルトは intr (割り込み可能) |
-retry=n |
NFS |
マウント操作に失敗した場合に再試行する。n は再試行回数 |
/etc/vfstab ファイル内のエントリには、表 28-3 のように 7 つのフィールドが入っています。
表 28-3 /etc/vfstab ファイルのフィールドの説明
フィールド名 |
説明 |
---|---|
device to mount |
マウントできるデバイスは次のとおり
|
device to fsck |
「device to mount」フィールドで指定したファイルシステムに対応する raw (キャラクタ型) 特殊デバイス (/dev/rdsk/c0t0d0s0 など)。これにより、fsck に使用されるインタフェースが決まる。読み取り専用ファイルシステムやリモートファイルシステムなど、適用できるデバイスがない場合は、ダッシュ (-) を使用する |
mount point |
デフォルトのマウントポイントディレクトリ (/dev/dsk/c0t0d0s6 の場合は /usr など)
|
FS type |
「device to mount」 フィールドで指定したファイルシステムのタイプ |
fsck pass |
fsck がファイルシステムをチェックするか決めるために使用するパス番号。このフィールドでダッシュ (-) を指定すると、ファイルシステムはチェックされない。このフィールドに 0 より大きい値が入っていると、ファイルシステムがチェックされる。fsck pass の値が 0 の UFS 以外のファイルシステムはチェックされる。UFS ファイルシステムのみの場合は、このフィールドに 0 が入っていると、ファイルシステムはチェックされない。fsck pass の値が 1 より大きい複数の UFS ファイルシステム上で fsck を実行する場合に、preen (修復) オプション (-o p) を指定すると、最大効率を発揮するために fsck によって各種ディスク上でファイルシステムが並行して自動的にチェックされる。このフィールドに値 1 が入っていると、ファイルシステムは順番にチェックされる。SunOS システムソフトウェアの場合、「fsck pass」フィールドはシステムがチェックされる順序を明示的に指定しない |
mount at boot |
システムのブート時にファイルシステムが mountall によって自動的にマウントされるかどうかを表す。yes または no に設定。このフィールドは AutoFS とは連動していないので注意してください。 |
mount options |
ファイルシステムのマウントに使用されるオプションを (空白を空けずに) コンマで区切ったリスト。オプションなしを示すにはダッシュ (-) を使用する。オプションについては、mount(1M) のマニュアルページを参照 |
/etc/vfstab ファイル内のフィールドごとに 1 つずつエントリがなければなりません。フィールドで値を指定しない場合は、必ずダッシュ (-) を入力してください。
どのファイルシステムがマウントされているかを調べるには、次のように入力します。
$ mount
$ mount / on /dev/dsk/c0t3d0s0 read/write/setuid/largefiles on ... /usr on /dev/dsk/c0t3d0s6 read/write/setuid/largefiles on ... /proc on /proc read/write/setuid on Fri May 16 11:39:05 1997 /dev/fd on fd read/write/setuid on Fri May 16 11:39:05 1997 /export on /dev/dsk/c0t3d0s3 setuid/read/write/largefiles on ... /export/home on /dev/dsk/c0t3d0s7 setuid/read/write/largefiles on ... /export/swap on /dev/dsk/c0t3d0s4 setuid/read/write/largefiles on ... /opt on /dev/dsk/c0t3d0s5 setuid/read/write/largefiles on ... /tmp on swap read/write on Fri May 16 11:39:07 1997 $
「前提条件」の前提条件を満たしているかどうかを確認します。
/etc/vfstab ファイルを編集してエントリを追加します。
表 28-3 のフィールドエントリの詳細は、/etc/vfstab を参照してください。次のことを確認します。
各フィールドを空白 (空白文字またはタブ) で区切る。
フィールドで値を指定しない場合はダッシュ (-) を入力する。
変更結果を保存します。
#device device mount FS fsck mount mount #to mount to fsck point type pass at boot options # /dev/dsk/c0t3d0s7 /dev/rdsk/c0t3d0s7 /files1 ufs 2 yes - pluto:/export/man - /usr/man nfs - yes ro,soft / - /tmp/newroot lofs - yes -
この例では、デフォルトのマウントオプション (読み取り/書き込み) を使用して、マウントポイントディレクトリ /files1 に接続される UFS ファイルとして、ディスクスライス /dev/dsk/c0t3d0s7 をマウントします。また、「device to fsck」として raw キャラクタ型デバイス /dev/rdsk/c0t3d0s7 を指定します。「fsck pass」の値は 2 なので、ファイルシステムは順不同でチェックされます。
この例では、システム pluto からのディレクトリ /export/man を、NFS ファイルシステムとしてマウントポイント /usr/man にマウントします。NFS ファイルシステムである「device to fsck」や「fsck pass」は指定されていません。この例では、「mount options」は ro (読み取り専用) と soft になっています。信頼性を高めるために、読み取り/書き込み NFS ファイルシステムの場合は hard マウントオプションを指定します。
この例では、ルート (/) ファイルシステムをループバックマウントポイント /tmp/newroot にマウントします。「mount at boot」は yes と指定し、「device to fsck」と「fsck pass」の番号は指定していません。ループバックファイルシステムを構成するファイルシステムを使用したら、必ずループバックファイルシステムをマウントしなければなりません。ループバックエントリは、それが依存するエントリの後に位置するように、/etc/vfstab ファイル内で最後のエントリでなければなりません。
「前提条件」の前提条件を満たしているかどうかを確認します。
/etc/vfstab ファイル内に列挙されたファイルシステムをマウントします。
# mountall [-l | -r] [-F fstype]
オプションを指定しなければ、/etc/vfstab ファイル内で「mount at boot」フィールドに yes を指定したすべてのファイルシステムがマウントされます。
-l |
/etc/vfstab ファイル内で「mount at boot」フィールドに yes を指定したすべてのローカルファイルシステムがマウントされる |
-r |
/etc/vfstab ファイル内で「mount at boot」フィールドに yes を指定したすべてのリモートファイルシステムがマウントされる |
-F fstype |
/etc/vfstab ファイル内で「mount at boot」フィールドに yes を指定した fstype タイプのすべてのファイルシステムがマウントされる |
マウントが実行される前に、「device to fsck」エントリがあるすべてのファイルシステムがチェックされ、必要であれば修正されます。
次の例は、mountall コマンドの使用時に、すでにファイルシステムがマウントされている場合に表示されるメッセージを示しています。
# mountall mount: /tmp already mounted nfs mount: mount: /usr/openwin: Device busy nfs mount: mount: /usr/man: Device busy
次の例では、/etc/vfstab ファイル内に列挙されたすべてのローカルシステムがマウントされます。
# mountall -l # mount / on /dev/dsk/c0t3d0s0 read/write/setuid/largefiles on ... /usr on /dev/dsk/c0t3d0s6 read/write/setuid/largefiles on ... /proc on /proc read/write/setuid on Fri May 16 11:39:05 1997 /dev/fd on fd read/write/setuid on Fri May 16 11:39:05 1997 /tmp on swap read/write on Fri May 16 11:39:07 1997
次の例では、/etc/vfstab ファイル内に列挙されたすべてのリモートファイルシステムがマウントされます。
# mountall -r # mount / on /dev/dsk/c0t3d0s0 read/write/setuid/largefiles on ... /usr on /dev/dsk/c0t3d0s6 read/write/setuid/largefiles on ... /proc on /proc read/write/setuid on Fri May 16 11:39:05 1997 /dev/fd on fd read/write/setuid on Fri May 16 11:39:05 1997 /tmp on swap read/write on Fri May 16 11:39:07 1997 /nfs/mars.dist on mars:/usr/dist intr/remote on ... /nfs/mars.mail on mars:/var/mail intr/noac/remote on ...
「前提条件」の前提条件を満たしているか確認します。
/etc/vfstab ファイル内に列挙されたファイルシステムをマウントします。
# mount mount-point
mount-point |
/etc/vfstab ファイル内の「mount point」または「device to mount」フィールド内のエントリ。通常は、マウントポイントを指定する方が簡単にできます |
次の例では、/etc/vfstab ファイル内に列挙されたファイルシステム /usr/openwin をマウントします。
# mount /usr/openwin
「前提条件」の前提条件を満たしているかどうかを確認します。
UFS ファイルシステムをマウントします。
# mount [-o mount-options] /dev/dsk/device-namemount-point
-o mount-options |
UFS ファイルシステムのマウントに使用できるマウントオプションを指定する。汎用マウントオプションについては、表 28-2 を参照。すべてのオプションについては、mount_ufs(1M) のマニュアルページを参照 |
/dev/dsk/device-name |
ファイルシステムを保持するディスクスライス用の特殊ブロックデバイスファイル (/dev/dsk/c0t3d0s7 など)。ディスクデバイス名を調べる方法については、第 26 章「ファイルシステムの概要」を参照 |
mount-point |
ファイルシステムをマウントするディレクトリ |
次の例では、/dev/dsk/c0t3d0s7 が /files1 ディレクトリにマウントされます。
# mount /dev/dsk/c0t3d0s7 /files1
新しい largefiles マウントオプションは Solaris 2.6 環境のデフォルトの状態で、2G バイトより大きい大規模ファイルを持つファイルシステムをマウントできるようになります。
大規模ファイルを持つファイルシステムをマウントする手順は、「UFS ファイルシステムをマウントする方法」ですでに説明している手順と同じです。
largefiles オプションは、このオプションでマウントしたファイルシステムが 2G バイトより大きい大規模ファイルを 1 つまたは複数持つ可能性があることを意味します。しかし、このオプションでマウントしたファイルシステムが必ずしも 2G バイトより大きい大規模ファイルを持つ必要はありません。このオプションは、このようなファイルがファイルシステム内に存在することを許可します。
この動作を無効にするには、nolargefiles マウントオプションを明示的に使用しなければなりません。nolargefiles オプションは、2G バイトの最大ファイルサイズ制限を課すことによって、以前のファイルシステムの動作との全体的な互換性を提供します。
デフォルトの largefiles マウントオプションでファイルシステムをマウントして、大規模ファイルを作成した後には、大規模ファイルを削除して、fsck を実行して状態を「nolargefiles」にリセットするまで、nolargefiles オプションでファイルシステムを再マウントできません。
スーパーユーザーになります。
ファイルシステム内に大規模ファイルが存在しないことを確認します。
# cd /file-system # find . -xdev -size +2000000 -exec ls -l {} ¥;
file-system |
大規模ファイルをチェックするファイルシステム |
大規模ファイルが当該ファイルシステム内に存在する場合は、そのファイルを削除するか、他のファイルシステムに移動します。
ファイルシステムのマウントを解除します。
# umount /file-system
ファイルシステムの状態をリセットします。
# fsck /dev/rdsk/device-name
nolargefiles オプションでファイルシステムを再マウントします。
# mount -o nolargefiles /dev/rdsk/device-name
この例では、/datab 中に大規模ファイルが存在しないことをチェックして、/dev/dsk/c0t3d0s7 を /datab ディレクトリにマウントしています。
# cd /datab # find . -xdev -size +2000000 -exec ls -l {} ¥; # find . -xdev -size +2000000 -exec ls -l {} ¥; # umount /datab # fsck /dev/rdsk/c0t3d0s7 /files1 # mount -o nolargefiles /dev/dsk/c0t3d0s7 /files1
「前提条件」の前提条件を満たしているかどうかを確認します。
ファイルシステムをサーバーから使用可能かどうかを確認します。
NFS ファイルシステムをマウントするには、サーバーシステムから使用できるようにしなければなりません。サーバーで share(1M) コマンドを使用すると、ネットワーク上で共有できるファイルシステムのリストが表示されます。ファイルシステムの共有方法については、『NFS の管理』を参照してください。
NFS ファイルシステムをマウントします。
# mount -F nfs [-o mount-options] server:/directory mount-point
-o mount-options |
NFS ファイルシステムのマウントに使用できるマウントオプションを指定する。汎用マウントオプションのリストについては、表 28-2 を参照。オプションについては、mount_nfs(1M) のマニュアルページを参照 |
server:/directory |
ファイルシステムをマウントするサーバーのホスト名と、マウントするファイルシステム名 |
mount-point |
ファイルシステムをマウントするディレクトリ |
次の例では、ディレクトリ /export/packages 内のパッケージがサーバー pluto から /mnt にマウントされます。
# mount -F nfs pluto:/export/packages /mnt
「前提条件」の前提条件を満たしているかどうかを確認します。
S5FS ファイルシステムをマウントします。
# mount -F s5fs [-o mount-options] /dev/dsk/device-name mount-point
-o mount-options |
S5FS ファイルシステムのマウントに使用できるマウントオプションを指定する。汎用マウントオプションについては、表 28-2 を参照。オプションについては、mount_s5fs(1M) のマニュアルページを参照 |
/dev/dsk/device-name |
ファイルシステムを保持するディスクスライスのデバイス名 (/dev/dsk/c0t3d0s7 など) 。ディスクデバイス名を調べる方法については、第 20 章「デバイスへのアクセス」を参照 |
mount-point |
ファイルシステムをマウントするディレクトリ |
次の例では、/dev/dsk/c0t3d0s7 が /files1 ディレクトリにマウントされます。
# mount -F s5fs /dev/dsk/c0t3d0s7 /files1
次の手順で、PCFS (DOS) ファイルシステムをハードディスクからマウントします。
「前提条件」の前提条件を満たしているかどうかを確認します。
PCFS ファイルシステムをマウントします。
# mount -F pcfs [-o rw | ro] /dev/dsk/device-name:logical-drive mount-point
-o rw | ro |
PCFS ファイルシステムを読み取り/書き込みまたは読み取り専用にマウントできるように指定する。このオプションを指定しなければ、デフォルトは読み取り/書き込みになる |
/dev/dsk/device-name |
ディスク全体のデバイス名 (/dev/dsk/c0t0d0p0 など) |
logical-drive |
DOS の論理ドライブ名 (c から z まで) または 1 から 24 までのドライブ番号を指定する。ドライブ C はドライブ 1 に相当し、ドライバ上の一次 DOS スライスを表す。他のすべてのドライブ名やドライブ番号は、拡張 DOS スライス内の DOS 論理ドライブを表す |
mount-point |
ファイルシステムをマウントするディレクトリ |
「device-name」と「logical-drive」 は、コロンで区切らなければならないので注意してください。
次の例では、一次 DOS スライス内の論理ドライブが /pcfs/c ディレクトリにマウントされます。
# mount -F pcfs /dev/dsk/c0t0d0p0:c /pcfs/c
次の例では、ディスク上の拡張 DOS スライス内の最初の論理ドライブが、/pcfs/d に読み取り専用としてマウントされます。
# mount -F pcfs -o ro /dev/dsk/c0t0d0p0:2 /pcfs/d