Show Table of Contents
このページには機械翻訳が使用されている場合があります (詳細はこちら)。
18.2.3. マウントポイントを共有する
システム管理作業の中には、同じファイルシステムにディレクトリーツリー内の複数の場所からのアクセスする必要がある場合があります (chroot 環境を準備する場合など)。Linux では同じファイルシステムを複数のディレクトリーに必要なだけマウントすることが可能です。また、
mount
コマンドは重複したマウントポイントを持たせることができる --bind
オプションを実装します。以下のように使用します。
mount
--bind
old_directory new_directory
上記のコマンドにより、ユーザーはいずれの場所からでもファイルシステムにアクセスできるようになりますが、これは元のディレクトリー内にマウントされているファイルシステムには適用されません。これらのマウントも含めるには、次を実行します。
mount
--rbind
old_directory new_directory
さらに Red Hat Enterprise Linux 7 では、可能な限り柔軟性を持たせるために、共有サブツリー と呼ばれる機能を実装しています。次の 4 種類のマウントを使用することができます。
- 共有マウント
- 共有マウントにより、任意のマウントポイントと全く同一の複製マウントポイントを作成することができます。マウントポイントを共有マウントしてマークすると、元のマウントポイント内のあらゆるマウントが反映されます。マウントポイントのタイプを共有マウントに変更するには、シェルプロンプトで以下を入力します。
mount
--make-shared
mount_point代わりに、選択したマウントポイントとその下にあるすべてのマウントポイントのマウントタイプを変更するには、以下を入力します。mount
--make-rshared
mount_point使用例については、例18.4「共有マウントポイントを作成する」 を参照してください。 - スレーブマウント
- スレーブマウントにより、所定のマウントポイントの複製を作成する際に制限を課すことができます。マウントポイントをスレーブマウントとしてマークすると、元のマウントポイント内のすべてのマウントがそれに反映されますが、スレーブマウント内のマウントはオリジナルには反映されません。マウントポイントのタイプをスレーブマウントに変更するには、シェルプロンプトで次を入力します。
mount
--make-slave
mount_point選択したマウントポイントとその下にあるすべてのマウントポイントのマウントタイプを変更することも可能です。次のように入力します。mount
--make-rslave
mount_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/cdrom
EFI GPL isolinux LiveOS ~]#ls /mnt/cdrom
EFI GPL isolinux LiveOSまた、/mnt
ディレクトリー内にマウントされているファイルシステムが/media
に反映されていることを確認します。たとえば、/dev/sdc1
デバイスを使用する何らかのコンテンツを含む USB フラッシュドライブをプラグインしており、かつ/mnt/flashdisk/
ディレクトリーが存在している場合に以下を入力します。~]#
mount /dev/sdc1 /mnt/flashdisk
~]#ls /media/flashdisk
~]#ls /mnt/flashdisk
en-US publican.cfg - プライベートマウント
- プライベートマウントはマウントのデフォルトタイプであり、共有マウントやスレーブマウントと異なり、伝播イベントの受信や転送は一切行いません。マウントポイントを明示的にプライベートマウントにするには、シェルプロンプトで以下を入力します。
mount
--make-private
mount_pointまたは、選択したマウントポイントとその下にあるすべてのマウントポイントを変更することもできます。mount
--make-rprivate
mount_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/cdrom
EFI GPL isolinux LiveOS ~]#ls /mnt/cdrom
~]#また、/mnt
ディレクトリー内にマウントしているファイルシステムは/media
ディレクトリーには反映されないことを確認することもできます。たとえば、/dev/sdc1
デバイスを使用し、何らかのコンテンツを含む USB フラッシュドライブをプラグインして、/mnt/flashdisk/
ディレクトリーが存在する場合に以下を入力します。~]#
mount /dev/sdc1 /mnt/flashdisk
~]#ls /media/flashdisk
~]#ls /mnt/flashdisk
en-US publican.cfg - バインド不能のマウント
- 任意のマウントポイントに対して一切複製が行われないようにするには、バインド不能のマウントを使用します。マウントポイントのタイプをバインド不能のマウントに変更するには、次のようにシェルプロンプトに入力します。
mount
--make-unbindable
mount_pointまたは、選択したマウントポイントとその下にあるすべてのマウントポイントを変更することもできます。mount
--make-runbindable
mount_point使用例については 例18.7「バインド不能のマウントポイントを作成する」 を参照してください。例18.7 バインド不能のマウントポイントを作成する
/media
ディレクトリーが共有されないようにする場合は、root
として、シェルプロンプトに以下を入力します。~]#
mount --bind /media /media
~]#mount --make-unbindable /media
これにより、これ以降にこのマウントの複製を作成しようとするとエラーが出て失敗します。~]#
mount --bind /media /mnt
mount: 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
このページには機械翻訳が使用されている場合があります (詳細はこちら)。