mount_union(8) FreeBSD 一般コマンドマニュアル

mount_union

前のページ 上に戻る 次のページ

mount_union




解説

     mount_union コマンドは directoryuniondir の上に接続し、そこから両方の
     ディレクトリツリーの内容が見えるようにします。デフォルトでは、 directory
     が 上の層に、 uniondir が 下の層になります。

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

     -b      デフォルトの上下関係を反転します。つまり、 directory が下の層に、
             uniondir が上の層になります。ただし、マウントポイントは uniondir
             のままになります。

     -o      -o フラグの後には、オプション文字列をコンマで区切って指定します。
             指定可能なオプションと、その意味については mount(8) を参照してく
             ださい。

     -r      mount_null(8) でマウントした場合と同様に、下の層を完全に隠すよう
             になります。

     ファイルシステムのセキュリティを維持するため、ファイルシステムをマウント
     するユーザは、スーパユーザか、マウントポイントのディレクトリに書き込み許
     可を持つ者でなければなりません。

     ファイルの検索は、上の層、下の層の順におこなわれます。上の層にはエントリ
     のないディレクトリが、下の層で見つかった場合には、上の層に シャドウディレ
     クトリが作られます。このディレクトリはユニオンマウントを実行したユーザの
     所有になり、モードは ``rwxrwxrwx'' (0777) をその時点で有効な umask で修正
     したものになります。

     あるファイルが上の層に存在している場合、下の層にある同じ名前のファイルを
     アクセスする方法はありません。どうしても必要なら、ループバックマウントと
     ユニオンマウントを組み合せることで、別のパス名を使って下の層のファイルを
     アクセスできるようにしておくことができます。

     オブジェクトへのアクセスは、それがディレクトリである場合を除き、通常の
     ファイルシステムのアクセス権チェックのあとで実行されます。ディレクトリの
     場合には、アクセスをおこなうユーザは上の層と下の層の両方のディレクトリの
     アクセス権を持っていなければなりません (両方のディレクトリが存在している
     必要があります)。

     いくつかの特別な場合を除き、 uniondir 中のオブジェクトの作成や変更の要求
     は上の層に渡されます。下の層に存在するファイルを書き込み用にオープンしよ
     うとすると、そのファイルの 完全なコピーが上の層に作成され、それから上の層
     のコピーがオープンされます。同様に、下の層のファイルを切り詰めてサイズを
     0 にしようとすると、空のファイルが上の層に作成されることになります。これ
     以外の、本当に下の層の変更が必要となる操作は失敗し、 EROFS が返されます。

     ユニオンファイルシステムは、個々のファイルシステムを扱うというよりも名前
     空間を扱うものです。ユニオンマウントは uniondir 以下のディレクトリツリー
     に再帰的に影響します。このため uniondir 以下にマウントされたファイルシス
     テムは、すべてユニオン効果を持つようになります。これが mount(8)union
     オプションとは異なる点です。 union オプションでは、ユニオン効果はマウント
           mount -t union -o -b /sys $HOME/sys

     は、ユーザのホームディレクトリの下の sys ディレクトリに、システムのソース
     ツリーを下の層として重ね合わせます。これにより、個々のユーザがそのソース
     ツリーに対して個人的な変更を加えて、新しいカーネルを構築することができる
     ようになります。他のユーザはその変更に関知しません。下の層のファイルは、
     そのまま /sys からアクセスできることに注意してください。


関連項目

     intro(2), mount(2), unmount(2), fstab(5), mount(8), mount_null(8)


バグ

     本ファイルシステムタイプは、まだ完全にはサポートされていません (注: 機能
     しないということです) し、実際のところ使用するとシステム上のデータを破壊
     するかもしれません。自己責任において使用してください。猛犬注意。濡れてい
     て滑ります。

     危険性を減らすためには、このコードもまた所有者を必要としています - 真面目
     なハッカーの方はメールを hackers@freebsd.org に送って引き継ぎの意思を宣言
     してください。

     上の層を支えているファイルシステムで、ホワイトアウトがサポートされていな
     いため、下の層のオブジェクトに対して削除や名前変更の操作をおこなう方法は
     ありません。このような操作や、下の層を変更する操作、たとえば chmod(1) の
     ような操作に対しては、 EROFS が返されます。

     ユニオンツリーの上で find(1) を実行すると、上の層にシャドウディレクトリの
     ツリーが作成されてしまうという副作用があります。


歴史

     mount_union コマンドは 4.4BSD で初めて登場しました。最初に動作したのは
     FreeBSD -(要記入) です (訳注: 原文 は FreeBSD-(fill this in))。

4.4BSD                          March 27, 1994                          4.4BSD

ABELNET VPSサービス