aboutsummaryrefslogtreecommitdiff
path: root/ja_JP.eucJP/man/man1/fetch.1
blob: c674003a7d428006b60cc50b75ae27cf3b343c34 (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
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
.\" %Id: fetch.1,v 1.9.2.6 1997/09/15 08:07:03 jkh Exp %
.\" jpman %Id: fetch.1,v 1.4 1997/08/15 06:31:28 horikawa Stab %
.Dd July 2, 1996
.Dt FETCH 1
.Os FreeBSD 2.2
.Sh 名称
.Nm fetch
.Nd URL(Uniform Resource Locator)形式でのファイルの取得
.Sh 書式
.Nm fetch
.Op Fl MPabmnpqr
.Op Fl o Ar file
.Ar URL
.Op Ar ...
.Nm fetch
.Op Fl MPRmnpqr
.Op Fl o Ar file
.Op Fl c Ar dir
.Fl f Ar file
.Fl h Ar host
.Sh 解説
.Nm fetch
は、
.Tn FTP
もしくは
.Tn HTTP
プロトコルを使ってネットワークの遠隔サイトから、ファイルの転送を
行います。コマンドの最初の書式の
.Ar URL
は、
.Li http://site.domain/path/to/the/file
もしくは、
.Li ftp://site.domain/path/to/the/file
の形式をしています。
複製もしくはリンクされる(以下の
.Fl l
フラグを参照)ローカルでのファイル名を指定するために、
.Em file:/path/to/the/file
というURL形式が使えます。
.Pp
コマンドの2 番目の形式は、
ファイル名と遠隔ホスト名を
.Fl h
と
.Fl f
フラグで指定して、
.Tn FTP
プロトコルを使ってファイルを取得するために使われます。
.Pp
以下のオプションが使用可能です。
.Bl -tag -width Fl
.It Fl a
ソフト上での失敗の場合に自動的に転送を再試行します。
.It Fl b
.Tn TCP
プロトコルを正しく実装していない
.Tn HTTP
サーバのバグ対応を行います。
.It Fl c Ar dir
遠隔ホストの
.Ar dir
ディレクトリのファイルを取得します。
.It Fl f Ar file
遠隔ホストの
.Ar file
という名前のファイルを取得します
.It Fl h Ar host
ホスト名が
.Ar host
にあるファイルを取得します。
.It Fl l
目標が
.Ar file:/
形式のURLだった場合、目標を複製しようとするのではなく、
リンクを作成します。
.It Fl M
.It Fl m
ミラーモード: ファイルの変更時間を遠隔ホストの変更時間と同じに
設定します。ローカルホストにファイルが既に存在しサイズと
変更時間が同じである場合、転送は行われません。
.It Fl n
転送されるファイルの変更時間を保存せず、現在の時間を使います。
.It Fl o Ar file
出力ファイル名を
.Ar file 
にします。
デフォルトでは、``パス名''が指定された URI から取り出され、その
ベースネームが出力ファイルの名前として使われます。
.Ar file
引数として 
.Sq Li \&-
を与えると、結果は標準出力に出力されます。
.It Fl P
.It Fl p
.Tn FTP
プロトコルをパッシブモードで使います。これは、防火壁 (firewall) 
を跨いだ場合に有効です。
.It Fl q
沈黙モード。端末に転送の進行状態を報告しません。
.It Fl R
転送が失敗もしくは不完全であった時でさえ、与えられたファイル名は
``大事にされ''、どんな状況下でもファイル名は消去されません.
.It Fl r
以前に中断された転送を再開します。
.It Fl t
接続にあたり T/TCP を使用しないことを保証します。
T/TCP 接続に対して不適切な応答を行うリモート OS スタックに対する
バグ対応です。
.It Fl T Ar second
タイムアウト時間を
.Ar second
秒に設定します。
ftp での転送に対しては
.Ev FTP_TIMEOUT
環境変数が、 http での転送に関しては
.Ev HTTP_TIMEOUT 
環境変数が,設定されていた場合は、それを上書きします。
.It Fl v
冗長性を増加させます。
複数の
.Fl v
を指定することで、より情報が得られるようになります。
.El
.Pp
多くのオプションは、環境によってのみ制御されます
(これはバグです)。
.Sh プロキシサーバ
防火壁の中の多くのサイトは、信用できるプロトコルで防火壁を通して
通信を行なうためにアプリケーションゲートウェイ( ``プロキシサーバ'' ) 
を利用します。
.Nm 
プログラムは、プロキシサーバを使った
.Tn FTP
と
.Tn HTTP
プロトコルの両方を利用可能です。
.Tn FTP
プロキシサーバは
.Tn FTP
の要求だけを取り次ぎ、
.Tn HTTP
プロキシサーバは
.Tn FTP
と
.Tn HTTP
の両方の要求を取り次ぎます。
プロキシサーバは、環境変数
.Dq Va PROTO Ns Ev _PROXY 
を定義することで設定されます。
ここで、
.Va PROTO
はプロトコルの名前で、英大文字で記述します。
環境変数の値には、ホスト名と必要ならばコロン (:) に続けてポート番号を
指定します。
.Pp
.Tn FTP
プロキシクライアントは、
.Do Va remoteuser Ns Li \&@ Ns Va remotehost
.Op Li \^@ Ns Va port
.Dc
という形式の ホスト名とポート番号を遠隔地のユーザ名として送ります。
.Tn HTTP
プロキシクライアントは、
.Tn HTTP
.Dq Li GET
要求を出した時に、単純に要求を出した元の URI を遠隔サーバに送ります。
HTTP プロキシによる認証は、いまはまだ実装されていません。
.Sh HTTP による認証
.Tn HTTP
プロトコルは、さまざまな種類の認証方法の提供を含んでいます。
現在、
.Nm fetch
がサポートしている方式は
.Dq basic
方式だけです。
この方法は、パケットの盗み見や人間が間に介在した攻撃にはセキュリティを
提供しません。
認証は、
.Ev HTTP_AUTH
と
.Ev HTTP_PROXY_AUTH
環境変数を設定することで可能となります。
両環境変数は、次のような同じ形式をしています。
空白で区切られたパラメータの設定リストからなり、個々の設定はコロンで
分けられたパラメータのリストからなります。最初の二つのパラメータはいつも
( 大文字でも小文字でも構わない ) 認証方法名と認証が行われる範囲です。
認証範囲が
.Sq Li \&* 
の形式で指定されている時、他に指定されていない全ての範囲とみなされます。
.Pp
.Li basic
認証方式は、二つのオプションのパラメータを利用します。
一つ目はユーザ名で、 2 番目はそれに付けられたパスワードです。
環境でパスワードもしくは両方のパラメータが指定されていなく、
.Nm
の標準入力が端末である時には、
.Nm
は欠けているパラメータの入力をユーザにうながします。
したがって、ユーザが
.Dq Li jane
で
.Dq Li WallyWorld
範囲の認証で、パスワードが
.Dq Li QghiLx79
であるなら、彼女は
.Ev HTTP_AUTH
環境変数を以下のように設定します。
.Bl -enum -offset indent
.It
.Dq Li basic:WallyWorld:jane:QghiLx79
.It
.Dq Li basic:WallyWorld:jane 
.It
.Dq Li basic:WallyWorld
.El
.Pp
.Nm
は欠けている情報が必要な場合は、尋ねてきます。
彼女は、認証範囲を
.Dq Li WallyWorld
と指定する代わりに、
.Dq Li \&*
と指定することで、どんな範囲でも認証を行うことを示せます。
これは、
.Dq Li basic:* 
の様なもっとも一般的に使われる設定です。
この設定は、
.Nm
にどんな認証範囲であっても
.Li basic
認証を行わせることを指示します。
.Sh エラー
.Nm
は成功した時は 0 を返します。
また、失敗した場合には、
.Aq Pa sysexits.h
で定義される 0 でない値が返されます。
複数の URI が再試行のために与えられた時、
.Nm
は全てを試して、全て成功した場合だけ 0 を返します
(それ以外の場合は、最後の失敗のエラーを返します)。
.Sh 環境変数
.Bl -tag -width FTP_PASSIVE_MODE -offset indent
.It Ev FTP_TIMEOUT
.Tn FTP
接続を中断するまでの最大時間を秒で指定します。
.It Ev FTP_LOGIN
.Tn FTP
転送で使われるログイン名です。
デフォルトは ``anonymous'' が使われます。
.It Ev FTP_PASSIVE_MODE
パッシブモードで FTP を行います。
.It Ev FTP_PASSWORD
.Tn FTP
転送で使われるパスワードです。
デフォルトは 
.Dq Va yourname Ns Li \&@ Ns Va yourhost
です。
.It Ev FTP_PROXY
.Tn FTP
を理解するプロキシサーバのアドレスを
.Do Va hostname Ns
.Op Li : Ns Va port
.Dc
の形式で与えます。
.It Ev HTTP_AUTH
.Tn HTTP
認証パラメータを定義します。
.It Ev HTTP_PROXY
.Tn HTTP
を理解するプロキシサーバのアドレスを
.Do Va hostname Ns
.Op Li : Ns Va port
.Dc
の形式で与えます。
.It Ev HTTP_PROXY_AUTH
.Tn HTTP
プロキシサーバのための認証パラメータを定義します。
.It Ev HTTP_TIMEOUT
.Tn HTTP
接続を中断するまでの最大時間を秒で指定します。
.Sh 関連項目
.Xr ftp 1 ,
.Xr tftp 1
.Sh 歴史
.Nm fetch
コマンドは
.Fx 2.1.5
から導入されました。
.Sh 作者
.Nm
のオリジナル実装は Jean-Marc Zucconi が行いました。
.Fx 2.2
のために、拡張を行ったのは Garrett Wollman です。
.Sh バグ
たくさんの環境変数とコマンドラインオプションがあります。
.Pp
.Fl a
オプションは、ある種類の
.Tn HTTP
の接続失敗のために実装されており、
.Tn FTP
の接続失敗のためではありません。
.Pp
.Tn HTTP
のために、
.Dq basic
認証モードだけが実装されています。
これは、ダイジェスト認証に置き換えられるべきものです。
.Pp
.Fl b
フラグは不要であるべきです。