Show Table of Contents
18.2.3. マウントポイントを共有する
システム管理作業の中には、同じファイルシステムにディレクトリーツリー内の複数の場所からのアクセスする必要がある場合があります (chroot 環境を準備する場合など)。Linux では同じファイルシステムを複数のディレクトリーに必要なだけマウントすることが可能です。また、
mount コマンドは重複したマウントポイントを持たせることができる --bind オプションを実装します。以下のように使用します。
mount--bindold_directory new_directory
上記のコマンドにより、ユーザーはいずれの場所からでもファイルシステムにアクセスできるようになりますが、これは元のディレクトリー内にマウントされているファイルシステムには適用されません。これらのマウントも含めるには、次を実行します。
mount--rbindold_directory new_directory
さらに Red Hat Enterprise Linux 7 では、可能な限り柔軟性を持たせるために、共有サブツリー と呼ばれる機能を実装しています。次の 4 種類のマウントを使用することができます。
- 共有マウント
- 共有マウントにより、任意のマウントポイントと全く同一の複製マウントポイントを作成することができます。マウントポイントを共有マウントしてマークすると、元のマウントポイント内のあらゆるマウントが反映されます。マウントポイントのタイプを共有マウントに変更するには、シェルプロンプトで以下を入力します。
mount--make-sharedmount_point代わりに、選択したマウントポイントとその下にあるすべてのマウントポイントのマウントタイプを変更するには、以下を入力します。mount--make-rsharedmount_point使用例については、例18.4「共有マウントポイントを作成する」 を参照してください。 - スレーブマウント
- スレーブマウントにより、所定のマウントポイントの複製を作成する際に制限を課すことができます。マウントポイントをスレーブマウントとしてマークすると、元のマウントポイント内のすべてのマウントがそれに反映されますが、スレーブマウント内のマウントはオリジナルには反映されません。マウントポイントのタイプをスレーブマウントに変更するには、シェルプロンプトで次を入力します。
mount--make-slavemount_point選択したマウントポイントとその下にあるすべてのマウントポイントのマウントタイプを変更することも可能です。次のように入力します。mount--make-rslavemount_point使用例については 例18.5「スレーブのマウントポイントを作成する」 を参照してください。例18.5 スレーブのマウントポイントを作成する
/mediaディレクトリーの内容が/mntディレクトリーでも表示されるようにしながら、/mntディレクトリー内のマウントは/mediaディレクトリーには反映させない方法を以下に示します。rootになり、まず/mediaディレクトリーに 「shared」 のマークを付けます。~]#
mount --bind /media /media~]#mount --make-shared /media次に/mediaディレクトリーの複製を/mntディレクトリーに作成して、今度は 「slave」 のマークを付けます。~]#
mount --bind /media /mnt~]#mount --make-slave /mnt/media内のマウントが/mntでも表示されるかを確認します。たとえば、CD-ROM ドライブに何らかの内容を持つメディアがあり、/media/cdrom/というディレクトリーが存在するとします。次のコマンドを実行します。~]#
mount /dev/cdrom /media/cdrom~]#ls /media/cdromEFI GPL isolinux LiveOS ~]#ls /mnt/cdromEFI GPL isolinux LiveOSまた、/mntディレクトリー内にマウントされているファイルシステムが/mediaに反映されていることを確認します。たとえば、/dev/sdc1デバイスを使用する何らかのコンテンツを含む USB フラッシュドライブをプラグインしており、かつ/mnt/flashdisk/ディレクトリーが存在している場合に以下を入力します。~]#
mount /dev/sdc1 /mnt/flashdisk~]#ls /media/flashdisk~]#ls /mnt/flashdisken-US publican.cfg - プライベートマウント
- プライベートマウントはマウントのデフォルトタイプであり、共有マウントやスレーブマウントと異なり、伝播イベントの受信や転送は一切行いません。マウントポイントを明示的にプライベートマウントにするには、シェルプロンプトで以下を入力します。
mount--make-privatemount_pointまたは、選択したマウントポイントとその下にあるすべてのマウントポイントを変更することもできます。mount--make-rprivatemount_point使用例については 例18.6「プライベートマウントポイントを作成する」 を参照してください。例18.6 プライベートマウントポイントを作成する
例18.4「共有マウントポイントを作成する」 の状況を考慮に入れ、共有マウントポイントが次のコマンドを使ってrootで以前に作成されていると仮定します。~]#
mount --bind /media /media~]#mount --make-shared /media~]#mount --bind /media /mnt/mntディレクトリーに 「private」 のマークを付けるには次のように入力します。~]#
mount --make-private /mntこれで/media内のマウントはいずれも/mnt内では表示されないことを確認できるようになります。たとえば、CD-ROM デバイスに何らかのコンテンツを含むメディアがあり、/media/cdrom/ディレクトリーが存在する場合に、次のコマンドを実行します。~]#
mount /dev/cdrom /media/cdrom~]#ls /media/cdromEFI GPL isolinux LiveOS ~]#ls /mnt/cdrom~]#また、/mntディレクトリー内にマウントしているファイルシステムは/mediaディレクトリーには反映されないことを確認することもできます。たとえば、/dev/sdc1デバイスを使用し、何らかのコンテンツを含む USB フラッシュドライブをプラグインして、/mnt/flashdisk/ディレクトリーが存在する場合に以下を入力します。~]#
mount /dev/sdc1 /mnt/flashdisk~]#ls /media/flashdisk~]#ls /mnt/flashdisken-US publican.cfg - バインド不能のマウント
- 任意のマウントポイントに対して一切複製が行われないようにするには、バインド不能のマウントを使用します。マウントポイントのタイプをバインド不能のマウントに変更するには、次のようにシェルプロンプトに入力します。
mount--make-unbindablemount_pointまたは、選択したマウントポイントとその下にあるすべてのマウントポイントを変更することもできます。mount--make-runbindablemount_point使用例については 例18.7「バインド不能のマウントポイントを作成する」 を参照してください。例18.7 バインド不能のマウントポイントを作成する
/mediaディレクトリーが共有されないようにする場合は、rootとして、シェルプロンプトに以下を入力します。~]#
mount --bind /media /media~]#mount --make-unbindable /mediaこれにより、これ以降にこのマウントの複製を作成しようとするとエラーが出て失敗します。~]#
mount --bind /media /mntmount: wrong fs type, bad option, bad superblock on /media, missing codepage or helper program, or other error In some cases useful info is found in syslog - try dmesg | tail or so

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.