MOUNT(8)

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

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

-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 を同期的に行います。

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

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

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

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

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

        mount -t mfs -o nosuid,-N,-s=4000 /dev/dk0b /tmp

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

        /sbin/mount_mfs -o nosuid -N -s 4000 /dev/dk0b /tmp

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

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

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

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

        mount -a -t nonfs,mfs

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

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

    ほとんどのファイルシステム用モジュールは カーネル中にない場合、ファイルシステム別の mount プログラム によって動的に読み込まれます。 そこでは vfsload(3) サブルーチンが使われます。 この機構には書き込み可能な作業領域が必要なため、 /tmp があるファイルシステムタイプのモジュールはカーネルに 組み込まれている必要があります。さらに /etc/fstab において、 /tmp や /usr/bin/ld があるファイルシステムは 動的に読み込まれるファイルシステムよりも前に 記述されていなければいけません。

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

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

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

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

    XXXXX filesystem is not available

カーネルはそのファイルシステムタイプをサポートしていません。 ファイルシステムのサポートは、 静的 (カーネルコンパイル時) もしくは動的 ( kldload(8) によってカーネルモジュールとしてロードされる) です。 通常、 mount もしくはそのサブプロセスは、 ファイルシステムモジュールが静的に組み込まれていない場合は、 vfsload(3) を使用して動的にそのファイルシステムモジュールをロードしようとします。 この場合上記エラーメッセージは、 モジュールをロードするパーミッションを持たないことも意味する場合があります。

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

関連項目
mount(2), vfsload(3), fstab(5), kldload(8), mount_cd9660(8), mount_ext2fs(8), mount_fdesc(8), mount_kernfs(8), mount_linprocfs(8), mount_mfs(8), mount_msdos(8), mount_nfs(8), mount_ntfs(8), mount_null(8), mount_nwfs(8), mount_portal(8), mount_procfs(8), mount_smbfs(8), mount_std(8), mount_umap(8), mount_union(8), umount(8)

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

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

歴史
mount コマンドは AT&T UNIX から登場しています。