aboutsummaryrefslogtreecommitdiff
path: root/ja_JP.eucJP/man/man8/mount_union.8
blob: 48f4f7e02bafeb4245a33b1745cb6cc37ee102e8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
.\" Copyright (c) 1994
.\" The Regents of the University of California.  All rights reserved.
.\"
.\" This code is derived from software donated to Berkeley by
.\" Jan-Simon Pendry.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\"    must display the following acknowledgement:
.\"	This product includes software developed by the University of
.\"	California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\"    may be used to endorse or promote products derived from this software
.\"    without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\"	@(#)mount_union.8	8.6 (Berkeley) 3/27/94
.\" %FreeBSD: src/sbin/mount_union/mount_union.8,v 1.6.2.1 2000/12/08 14:04:02 ru Exp %
.\"
.\" $FreeBSD: doc/ja_JP.eucJP/man/man8/mount_union.8,v 1.8 2001/05/14 01:09:51 horikawa Exp $
.\"
.Dd March 27, 1994
.Dt MOUNT_UNION 8
.Os BSD 4.4
.Sh 名称
.Nm mount_union
.Nd ユニオンファイルシステムをマウントする
.Sh 書式
.Nm
.Op Fl br
.Op Fl o Ar options
.Ar directory
.Ar uniondir
.Sh 解説
.Nm
コマンドは
.Ar directory
を
.Ar uniondir
の上に接続し、そこから両方のディレクトリツリーの内容が見えるようにします。
デフォルトでは、
.Ar directory
が
.Em 上の
層に、
.Ar uniondir
が
.Em 下の
層になります。
.Pp
オプションには以下のものがあります:
.Bl -tag -width indent
.It Fl b
デフォルトの上下関係を反転します。つまり、
.Ar directory
が下の層に、
.Ar uniondir
が上の層になります。ただし、マウントポイントは
.Ar uniondir
のままになります。
.It Fl o
.Fl o
フラグの後には、オプション文字列をコンマで区切って指定します。
指定可能なオプションと、その意味については
.Xr mount 8
を参照してください。
.It Fl r
.Xr mount_null 8
でマウントした場合と同様に、下の層を完全に隠すようになります。
.El
.Pp
ファイルシステムのセキュリティを維持するため、
ファイルシステムをマウントするユーザは、スーパユーザか、
マウントポイントのディレクトリに書き込み許可を持つ者でなければなりません。
.Pp
ファイルの検索は、上の層、下の層の順におこなわれます。
上の層にはエントリのないディレクトリが、下の層で見つかった場合には、上の層に
.Em シャドウ
ディレクトリが作られます。
このディレクトリはユニオンマウントを実行したユーザの所有になり、モードは
.Dq rwxrwxrwx
(0777) をその時点で有効な umask で修正したものになります。
.Pp
あるファイルが上の層に存在している場合、下の層にある
同じ名前のファイルをアクセスする方法はありません。
どうしても必要なら、ループバックマウントとユニオンマウントを
組み合せることで、別のパス名を使って下の層のファイルを
アクセスできるようにしておくことができます。
.Pp
オブジェクトへのアクセスは、それがディレクトリである場合を除き、
通常のファイルシステムのアクセス権チェックのあとで実行されます。
ディレクトリの場合には、アクセスをおこなうユーザは上の層と下の層の
両方のディレクトリのアクセス権を持っていなければなりません
(両方のディレクトリが存在している必要があります)。
.Pp
いくつかの特別な場合を除き、
.Ar uniondir
中のオブジェクトの作成や変更の要求は上の層に渡されます。
下の層に存在するファイルを書き込み用にオープンしようとすると、
そのファイルの
.Em 完全な
コピーが上の層に作成され、それから上の層のコピーがオープンされます。
同様に、下の層のファイルを切り詰めてサイズを 0 にしようとすると、
空のファイルが上の層に作成されることになります。
これ以外の、本当に下の層の変更が必要となる操作は失敗し、
.Er EROFS
が返されます。
.Pp
ユニオンファイルシステムは、個々のファイルシステムを扱うというよりも
名前空間を扱うものです。ユニオンマウントは
.Ar uniondir
以下のディレクトリツリーに再帰的に影響します。
このため
.Ar uniondir
以下にマウントされたファイルシステムは、すべて
ユニオン効果を持つようになります。これが
.Xr mount 8
の
.Em union
オプションとは異なる点です。
union オプションでは、ユニオン効果はマウントポイントだけに働き、
ファイル名の探索のみに使われます。
.Sh 使用例
コマンド
.Bd -literal -offset indent
mount -t cd9660 -o ro /dev/cd0a /usr/src
mount -t union /var/obj /usr/src
.Ed
.Pp
は、CD-ROM ドライブ
.Pa /dev/cd0a
を
.Pa /usr/src
にマウントし、その上に
.Pa /var/obj
を重ねます。ほとんどの場合、これはソースツリーが実際には CD-ROM 上に
あるにもかかわらず、書き込みが可能になるという効果を目的としています。
.Pp
コマンド
.Bd -literal -offset indent
mount -t union -o -b /sys $HOME/sys
.Ed
.Pp
は、ユーザのホームディレクトリの下の
.Pa sys
ディレクトリに、システムのソースツリーを下の層として重ね合わせます。
これにより、個々のユーザがそのソースツリーに対して個人的な変更を加えて、
新しいカーネルを構築することができるようになります。
他のユーザはその変更に関知しません。
下の層のファイルは、そのまま
.Pa /sys
からアクセスできることに注意してください。
.Sh 関連項目
.Xr intro 2 ,
.Xr mount 2 ,
.Xr unmount 2 ,
.Xr fstab 5 ,
.Xr mount 8 ,
.Xr mount_null 8
.Sh バグ
本ファイルシステムタイプは、まだ完全にはサポートされていません
(注: 機能しないということです) し、
実際のところ使用するとシステム上のデータを破壊するかもしれません。
自己責任において使用してください。
猛犬注意。濡れていて滑ります。
.Pp
危険性を減らすためには、このコードもまた所有者を必要としています -
真面目なハッカーの方はメールを hackers@freebsd.org に送って
引き継ぎの意思を宣言してください。
.Pp
上の層を支えているファイルシステムで、ホワイトアウトが
サポートされていないため、下の層のオブジェクトに対して
削除や名前変更の操作をおこなう方法はありません。
このような操作や、下の層を変更する操作、たとえば
.Xr chmod 1
のような操作に対しては、
.Er EROFS
が返されます。
.Pp
ユニオンツリーの上で
.Xr find 1
を実行すると、上の層にシャドウディレクトリのツリーが
作成されてしまうという副作用があります。
.Sh 歴史
.Nm
コマンドは
.Bx 4.4
で初めて登場しました。
最初に動作したのは
.Fx
-(要記入)
です
(訳注: 原文 は FreeBSD-(fill this in))。
.\" 本訳注は horikawa@jp.freebsd.org が 19990115 に記載