MOUNT(8)

名称
mount - ファイルシステムをマウントする

書式
mount [-adfpruvw] [-F fstab] [-t ufs | external_type] mount [-dfpruvw] special | node mount [-dfpruvw] [-o options] [-t ufs | external_type] special node

解説
mount ユーティリティは mount(2) システムコールを使用して、 スペシャルデバイス かリモートノード (rhost:path) を ファイルシステムツリーの node へ接合します。 もし special または node が指定されなかった場合には、 fstab(5) ファイルから適切な情報を取得します。

システムは、現在マウントしているファイルシステムのリストを管理しています。 mount コマンドを引数を与えずに実行すると、このリストが表示されます。

オプションとしては以下のものがあります:

-a  fstab(5) に記述されているファイルシステムを すべてマウントします。 例外は、 “noauto” が指定されているもの、 -t フラグにて除外されているもの (後述)、 既にマウントされているもの (ルートファイルシステムは伝統的なシングルユーザモードの動作を保つ ために除外されます) です。 通常、これはシステムの起動時に実行されます。

-d  システムコールの実行以外のすべてのことを行ないます。 このオプションを -v とともに指定することで、 mount コマンドが何をしようとしているのかを確認することができます。

-F fstab
    使用する fstab ファイルを指定します。

-f  ファイルシステムのマウント状態を読み書き可能から読み込み専用へ 変更しようとするときに、 すでにオープンされているファイルへの書き込み許可を強制的に取り消します。 また、正常かどうか不明なファイルシステムも強制的に読み書き可能に マウントします (危険なため注意して使って下さい)。

-o  オプションは -o の後にコンマで区切って指定します。 衝突するオプションが指定された場合、最も右側のオプションが効果があります。 以下のオプションが指定できます:

    async
        指定したファイルシステムのすべての I/O を非同期に行います。 このフラグを指定することは非常に 危険 ですので、 システムクラッシュ時にファイルシステムを 作り直す用意ができていないかぎりは使うべきではありません。

    current
        -u フラグとともに使用された場合、 マウントされているファイルシステムに対する現在の効果を指定することと同じです。

    force
        -f オプションと同じです。 ファイルシステムのマウント状態を読み書き可能から読み込み専用へ 変更しようとするときに、 すでにオープンされているファイルへの書き込み許可を強制的に取り消します。 また、正常かどうか不明なファイルシステムも強制的に読み書き可能に マウントします (危険なため注意して使って下さい)。

    fstab
        -u フラグとともに使用された場合、 ファイルシステムに対して fstab(5) に列挙されている全オプションを指定することと同じです。

    noasync
        メタデータ I/O を同期に行い、データ I/O を非同期に行います。 これがデフォルトです。

    noatime
        ファイル読み取り時に、ファイルアクセス時刻を更新しません。 このオプションが便利なのは、 多くのファイルを持ち、(ほとんどの場合重要ではない) ファイルアクセス時刻 を更新するよりも性能が重要であるファイルシステムです。 このオプションは現在ローカルファイルシステムでのみサポートされています。

    noauto
        mount が -a フラグ付きで動作しているときに、このファイルシステムをスキップします。

    noclusterr
        リード時のクラスタリングを無効にします。

    noclusterw
        ライト時のクラスタリングを無効にします。

    nodev
        ファイルシステム上のキャラクタスペシャルデバイスや ブロックスペシャルデバイスを解釈しません。 このオプションは、サーバが自分自身以外のアーキテクチャ用の スペシャルデバイスを含むファイルシステムを持っている場合に有用です。 ユーザがスーパユーザ権限を持たないときには、 本オプションが自動的に設定されます。

    noexec
        マウントしているファイルシステム上のバイナリの 実行を許可しません。 このオプションは、サーバが自分自身以外のアーキテクチャ用の バイナリを含むファイルシステムを持っている場合に有用です。

    nosuid
        実効ユーザ ID (set-user-ID) セット、 実効グループ ID (set-group-ID) セットビットの 効果をなくします。 注意: suidperl(1) のような suid/sgid ラッパが 誰でも使えるようにシステムにインストールされている場合には、価値がありません。 ユーザがスーパユーザ権限を持たないときには、 本オプションが自動的に設定されます。

    nosymfollow
        マウントされたファイルシステムにおいては、シンボリックリンクを追跡しません。

    rdonly
        -r と同じく、マウントするファイルシステムを読み込み専用とします (スーパユーザでも書き込みできなくなります)。

    sync
        ファイルシステムのすべての I/O を同期的に行います。

    snapshot
        本オプションにより、指定したファイルシステムのスナップショットを取得可能です。 -u フラグは、本オプションに必須です。 スナップショットファイルは、 スナップショットが取られるファイルシステム上に作成される必要があります。 ファイルシステムごとに、最大 20 個のスナップショットを作成可能です。 アクティブスナップショットはスーパブロックに記録されますので、 アンマウントと再マウントを跨いだりシステムリブートを跨いても、 これらは永続します。 スナップショットがもう要らなくなったら、 rm(1) コマンドで削除可能です。 スナップショットの削除順序は任意ですが、 スナップショットに含まれていた空間すべてを取り返せないかもしれません。 なぜなら、解放されるブロックを他のスナップショットが必要としているかも しれないためです。 schg フラグはスナップショット上に設定されますので、 root ユーザでなくともこれらのファイルに書き込み可能です。 アンリンクコマンドはスナップショットファイルに対して例外であり、 schg フラグが設定されていても削除可能とすることで、 スナップショットファイル削除前に schg フラグをクリアしなくても 良いようになっています。

        スナップショットの取得後、次の 3 つの事柄を実行可能です:

        1.  スナップショットに fsck(8) を実行できます。 マウントされていたときのファイルシステムがクリーンな場合、 スナップショットに対する fsck はクリーン (かつ無変更の) 結果が 得られるはずです。 これが、本質的にはバックグラウンド fsck 処理の動作です。

        2.  スナップショットに dump(8) を実行できます。 スナップショットのタイムスタンプ時のファイルシステムと一致するダンプが 得られるでしょう。

        3.  ファイルシステムの凍結したイメージとして、スナップショットをマウントします。 スナップショット /var/snapshot/snap1 をマウントするには次のようにします。

                mdconfig -a -t vnode -f /var/snapshot/snap1 -u 4
                mount -r /dev/md4 /mnt

            凍結した /var ファイルシステムは /mnt にあり、検査可能となりました。 すべてが、スナップショットがとられた時期と同じ状況にあります。 例外は、以前のスナップショットが長さ 0 のファイルとして見えることです。 マウントしたスナップショットに関する処理が完了したら、次のようにします。

                umount /mnt
                mdconfig -d -u 4

            Further details can be found in the file at /usr/src/sys/ufs/ffs/README.snapshot.

    suiddir
        マウントされたファイルシステムにおけるディレクトリに SUID ビットがセットされると、 新規ファイルの所有者をディレクトリの所有者に設定します。 新規ディレクトリは親ディレクトリのビットを継承します。 実行ビットはファイルから取り除かれ、 ファイルは root の所有とはなりません。

        この機能は PC ユーザに対して ftp, SAMBA, netatalk のサービスを行う ファイルサーバのためにデザインされました。 これはシェルユーザに対してセキュリティホールとなりますので、 特にホームディレクトリを持つシェルマシンでは使用すべきではありません。 このオプションが動作するためには、カーネルの SUIDDIR オプションが必要です。 UFS ファイルシステムのみがこのオプションをサポートします。 詳細は chmod(2) を参照してください。

    update
        -u と同じく、すでにマウントされているファイルシステムの状態を変化させることを 指示します。

    union
        マウントポイント以下の名前空間に、マウントされたファイルシステムのルートと マウントポイントに元から存在するディレクトリの両方が見えるようにします。 名前を検索するときは、マウントしたファイルシステムが先に検索されます。 ファイルが存在しない ために検索が失敗した場合は、既存のディレクトリがアクセスされます。 ファイル等の作成は、すべて マウントしたファイルシステム上に対して行われます。

    mount が内部で知っているファイルシステムタイプ (-t オプションを参照) 以外の、ファイルシステムタイプに固有のオプションは、 コンマで区切って指定します。このオプションは、オプションの前に “-” (ダッシュ記号) をつけて区別します。値を持つオプションは、 -option=valueの形で指定します。 たとえば、

        mount -t unionfs -o -b /sys $HOME/sys

    では、 mount コマンドは以下と同じものを実行します:

        /sbin/mount_unionfs -b /sys $HOME/sys

    ファイルシステムタイプに固有な追加オプションで、 内部的には分からないもの (下記 -t オプションを参照してください) は、関連する /sbin/mount_XXX ユーティリティのマニュアルページに記述されているかもしれません。

-p  マウント情報を fstab(5) の形式で表示します。暗黙的に -v オプションを指定します。

-r  ファイルシステムをリードオンリーで マウントします (スーパユーザでも書き込みは行えません)。 これは、 -o オプションで rdonly を指定するのと同じです。

-t ufs | external_type
    -t のあとの引数にはファイルシステムタイプを指定します。 デフォルトは、 ufs です。 -t オプションによって、 mount コマンドの操作が、指定した特定のタイプのファイルシステムに対してのみ 行われるように指示することができます。 2つ以上のタイプを指定するにはコンマで区切ります。 ファイルシステムリスト の先頭に “no” という文字をつけることに よって、 mount コマンドの操作の対象と しない ファイルシステムタイプを指定することができます。 以下に例を示します:

        mount -a -t nonfs,nullfs

    は、 NFS と NULLFS を除いた、すべてのファイルシステムをマウントします。

    type を内部で解釈できない場合、 mount は /sbin/mount_XXX というプログラムを実行しようとします。 XXX の部分が type になります。たとえば nfs ファイルシステムは、 /sbin/mount_nfs というプログラムによってマウント されます。

    ほとんどのファイルシステムは、 まだ存在せず、カーネルモジュールが使用可能な場合、 カーネルが動的にロードします。

-u  -u フラグは、すでにマウントしているファイルシステム の状態の変更を指示します。 ファイルシステムを読み込み専用から読み書き可能へ、またその逆へも変更することを 含めて、すでに説明したすべてのオプション (-o オプション) の内容を変更することができます。 読み書き可能なファイルシステムを読み出し専用に変更する場合、 書き込みのためにオープンしているファイルがあるときには、 -f オプションを指定しなければ変更に失敗します。 どのオプションを適用するかを決定する際、最初に -o オプションの引数を適用し、最後に -r, -w オプションが適用されます。

-v  詳細なメッセージを表示します。

-w  ファイルシステムを読み書き可能とします。

診断
多岐に渡りますが、ほぼ全てが自明です。

    XXXXX filesystem is not available

カーネルはそのファイルシステムタイプをサポートしていません。 ファイルシステムのサポートは、 静的 (カーネルコンパイル時) もしくは動的 ( kldload(8) によってカーネルモジュールとしてロードされる) です。

環境変数

PATH_FSTAB
    環境変数 PATH_FSTAB が設定されていると、すべての操作は指定されたファイルにに対して実行されます。 プロセス環境やメモリアドレス空間が “汚染されている” とみなされる場合には PATH_FSTAB は尊重されません (更なる情報は issetugid(2) を参照してください)。

関連ファイル
/etc/fstab
    ファイルシステムテーブル

関連項目
mount(2), fstab(5), kldload(8), mount_cd9660(8), mount_devfs(8), mount_ext2fs(8), mount_fdescfs(8), mount_hpfs(8), mount_linprocfs(8), mount_msdosfs(8), mount_nfs(8), mount_ntfs(8), mount_nullfs(8), mount_nwfs(8), mount_portalfs(8), mount_procfs(8), mount_smbfs(8), mount_std(8), mount_udf(8), mount_umapfs(8), mount_unionfs(8), umount(8)

バグ
異常なファイルシステムをマウントすると、 システムクラッシュを引き起こすことがあります。

警告
mount に成功した後にマウントされたファイルシステムから.. がアクセス可能かどうかは、 元のマウントポイントのパーミッションが決定します。 全ユーザが双方向にマウントポイントを行き来可能とするために最低限必要な パーミッションは 0111 (全員が実行可能) です。

歴史
mount ユーティリティは AT&T UNIX から登場しています。