FreeBSD ハンドブック
Prev | Chapter 3 Unix の基礎知識 | Next

# 3.5 ファイルシステムのマウントとアンマウント

ファイルシステムは `/` をルート (根) とする木構造として考えると視覚的に理解しやすいでしょう。 ルートディレクトリにある `/dev` や `/usr`、 その他のディレクトリは枝に相当し、 それらには、`/usr/local` などのように、さらに枝分かれすることができます。

さまざまな理由がありますが、 ディレクトリをいくつかの異なるファイルシステム上に構築するのが良いでしょう。 たとえば `/var` には、 `log/` や `spool/` など、さまざまな種類の一時ファイルを置くディレクトリがあるため、 あふれてしまう可能性があります。 ルートファイルシステムをあふれさせるのは得策ではありませんので、 普通は `/var` を `/` から分離します。

また、次のような場合も、ディレクトリツリーを 別のファイルシステムに置く理由として良くあげられます。 それは、たとえば物理的に別のディスクにディレクトリツリーを置く場合、 ネットワークファイルシステム (Network File System) や CDROM ドライブのような別の仮想ディスクに置くという場合です。

## 3.5.1 `fstab` ファイル

`/etc/fstab` に書かれているファイルシステムは (`noauto` オプションがなければ) 起動プロセスの途中で 自動的にマウントされます。

`/etc/fstab` ファイルは、 次のような書式で書かれた行のリストになっています。

    device       /mount-point fstype     options      dumpfreq     passno

`device`

  デバイスの名前 (存在していなければなりません)。 Section 15.2 に説明があります。

`mount-point`

  ファイルシステムがマウントするディレクトリの名前 (存在していなければなりません)。

`fstype`

  mount(8) に渡されるファイルシステムタイプ。 FreeBSD ファイルシステムのデフォルトは `ufs` です。

`options`

  読み書きするファイルシステムには `rw`、読み込み専用のファイルシステムには `ro` を、必要な他のオプションの前に指定します。 よく使われるオプションは `noauto` で、 起動時にはマウントされないファイルシステムに使います。 その他のオプションは mount(8) マニュアルページに載っています。

`dumpfreq`

  これは dump(8) が使うもので、 どのファイルシステムにダンプが必要なのかを決めます。 この項目がなければ、0 であるものとみなされます。

`passno`

  これはファイルシステムをチェックする順番を決めます。 ファイルシステムチェックを飛ばしたいファイルシステムには、 `passno` を 0 に設定してください。 ルートファイルシステム (どれよりも先にチェックしなければなりません) は `passno` を 1 に設定してください。 他のファイルシステムの `passno` は 1 以上に設定してください。 同じ `passno` のファイルシステムがあった場合、 fsck(8) は可能であれば並行してファイルシステムのチェック を行なおうとします。

## 3.5.2 `mount` コマンド

mount(8) コマンドは、 ファイルシステムをマウントするために使われるものです。

基本的には、次のように使います。

    # mount device mountpoint

mount(8) マニュアルページにはたくさんのオプションが書かれていますが、 いちばんよく使われるのは次のものです。

マウントオプション

`-a`

  `/etc/fstab` にある全てのファイルシステムをマウントします。 例外は “noauto” の印がついているものと、 `-t` フラグで除外されたものと、 すでにマウントされているファイルシステムです。

`-d`

  実際にシステムコールする以外の全てのことをします。 このオプションは `-v` フラグと組み合わせて使い、 mount(8) が実際なにをしようとしているのか調べるのに便利です。

`-f`

  クリーンでないファイルシステムを強制的にマウントします (危険です)。もしくは、ファイルシステムのマウント状態を 読み書き可能から読み込みのみに変更するとき、 書き込みアクセスを強制的に取り消します。

`-r`

  ファイルシステムを読み込み専用でマウントします。 これは `rdonly` 引数を `-o` オプションに使うのと同じです。

`-t` `fstype`

  ファイルシステムを指定のファイルシステムタイプでマウントします。 または、`-a` を使った場合、 指定したタイプのファイルシステムのみマウントします。

  デフォルトのファイルシステムタイプは “ufs” です。

`-u`

  ファイルシステムのマウントオプションを更新します。

`-v`

  詳細な出力にします。

`-w`

  ファイルシステムを読み書き可能にマウントします。

`-o` には、 次のようなオプションを複数カンマで区切って指定します。 以下に挙げるのはその一部です。

nodev

  ファイルシステム上のスペシャルデバイスを解釈しません。 セキュリティのために有用なオプションです。

noexec

  そのファイルシステム上のバイナリの実行を禁止します。 セキュリティのために有用なオプションです。

nosuid

  そのファイルシステム上の setuid や setgid フラグを解釈しません。 これもセキュリティのために有用なオプションです。

## 3.5.3 `umount` コマンド

umount(8) コマンドは、パラメータとしてマウントポイントの一つ、 デバイス名、もしくは `-a` や `-A` といったオプションを取ります。

いずれの形式でも `-f` で強制的なアンマウントを行ない、 `-v` で詳細な出力を出します。 ただしほとんどの場合、`-f` は使わないほうがよいでしょう。 強制的にファイルシステムをアンマウントすると、 計算機がクラッシュしたりファイルシステム上部のデータが 破壊されたりする恐れがあるためです。

オプション `-a` と `-A` はマウントされているファイルシステムすべてをアンマウントするのに使います。 `-t` にファイルシステムタイプを指定すると、 指定されたものだけがアンマウントされます。 また、`-A` を使うとルートファイルシステムはアンマウントしません。

Prev | Home | Next
ディレクトリ構造 | Up | プロセス

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

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