[ < ] [ > ]   [ << ] [] [ >> ]         [冒頭] [目次] [見出し] [ ? ]

8. 様々なもの

この章には,どこにも適さなかったあらゆるものを含んでいます.


[ < ] [ > ]   [ << ] [] [ >> ]         [冒頭] [目次] [見出し] [ ? ]

8.1 プロキシ

プロキシ(Proxies)は,リモートサーバからローカルクライアントにデー タを転送するために設計された,特別な目的のHTTPサーバです.プロキシ の一つの典型的な使用目的は,接続が遅い場所にいるユーザのためネットワー ク負荷を軽くすることです.これは,転送したデータをキャッシュするプロキ シを通じて,全てのHTTPFTPの要求の経路を作ることで達成します. キャッシュリソースが再び要求されたときプロキシはキャッシュからデータを 返します.プロキシのもう一つの使用目的は,(セキュリティの理由で)インター ネットと内部のネットワークを分けたいと考えている会社のためです.Webから 情報を得るため,それらのユーザは認証されたプロキシを使用してリモートデー タに接続し回収します.

Wgetは,HTTPFTPの回収の両方でプロキシをサポートします. Wget が認識できるようにプロキシの位置を指定する標準的な方法は,以下の環 境変数を使用する方法です.

http_proxy

この変数には,HTTPに接続するためのプロキシのURLを含めるべきで す.

ftp_proxy

この変数には,FTPに接続するためのプロキシのURLを含めるべきで す.HTTP_PROXYFTP_PROXYを同じURLに設定することは,一般 的なことです.

no_proxy

この変数は,カンマで分けられた,プロキシを使用しないドメイン拡張 子のリストです.例えば,no_proxyの値が‘.mit.edu’の場合,プ ロキシはMITからのドキュメントの回収で使用されません.

環境変数に加え,プロキシの位置や設定はWget自身から指定できます.

--no-proxy
proxy = on/off

このオプションと対応するコマンドは,適切な環境変数が設定されている場合 でさえも,プロキシの詩用を抑制するために使用してかまいません.

http_proxy = URL
ftp_proxy = URL
no_proxy = string

これらのスタートアップファイル変数で,環境変数で指定されているプロキシ の設定に優先します.

プロキシサーバの使用を可能にするため,認証を要求するサーバもあります. 認証は,ユーザ名(username)パスワード(password)から成り立 ち,それはWgetが送る必要があります.HTTP認証と同様,いくつかの認証 手法が存在します.プロキシ認証のために,Basic認証手法のみ,現在 実装されています.

ユーザ名とパスワードを,プロキシのURLまたはコマンドラインオプショ ンのどちらかで指定できます.会社のプロキシが‘proxy.company.com’の 8001ポートにあると仮定すると,認証データを含むプロキシURLの位置は 以下のようになります.

 
http://hniksic:mypassword@proxy.company.com:8001/

代わりに,プロキシユーザ名とパスワードを設定するため, ‘proxy-user’と‘proxy-password’オプションと,その等価の ‘.wgetrc’でのproxy_userproxy_passwordの設定を使用 してもかまいません.


[ < ] [ > ]   [ << ] [] [ >> ]         [冒頭] [目次] [見出し] [ ? ]

8.2 配布

全てのGNUユーティリティのように,Wgetの最近のバージョンは,GNUアーカイ ブサイトftp.gnu.orgとそのミラーで見つかります.例えば,Wget 1.10は, ftp://ftp.gnu.org/pub/gnu/wget/wget-1.10.tar.gzで見付 かるはずです.


[ < ] [ > ]   [ << ] [] [ >> ]         [冒頭] [目次] [見出し] [ ? ]

8.3 メーリングリスト

Wgetに関連するメーリングリストもいくつかあり,全てSunSITE.dkをホストと して利用しています.一般的な議論のメーリングリストは wget@sunsite.dkです.バグの報告と提案が好まれる場所で,開発の 議論も好まれます.どうぞ参加して下さい.

購読するためには,単純にwget-subscribe@sunsite.dkにメールを送っ て,指示にしたがってください.購読停止は wget-unsubscribe@sunsite.dkにメールを送ってください.メーリン グリストはhttp://www.mail-archive.com/wget%40sunsite.dk/http://news.gmane.org/gmane.comp.web.wget.generalに保管されていま す.

二番目のMLはwget-patches@sunsite.dkで,これはWgetの開発者が提 出したパッチのレビューで使用しています.“patch”はソースコードの変更を テキスト形式で表現したもので,人間でもプログラムでもどちらでも読むこと ができます.Wget ファイル‘PATCHES’には,Wgetでのパッチの作成と提出 の詳細が書かれています.一般的な提案とバグの報告を‘wget-patches’に 送らないで下さい.そこではパッチの提出だけ使用してください.

購読するためには,単純にwget-subscribe@sunsite.dkにメールを送っ て,指示にしたがってください.購読停止は wget-unsubscribe@sunsite.dkにメールを送ってください.メーリン グリストはhttp://news.gmane.org/gmane.comp.web.wget.patchesに保管 されています.

最後に,読み取り専用のメーリングリストがwget-cvs@sunsite.dkに あり,これはWgetのCVSにリポジトリへのコミットを追跡するためのものです. メーリングリストを講読するためには, wget-cvs-subscribe@sunsite.dkへメールを送ってください.このメー リングリストは保管されていません.


[ < ] [ > ]   [ << ] [] [ >> ]         [冒頭] [目次] [見出し] [ ? ]

8.4 バグの報告

GNU Wgetに関するバグレポートをbug-wget@gnu.orgに送ることを歓 迎します.

実際にバグレポートを提出する前に,以下のいくつかの単純なガイドラインに 従ってみてください.

  1. 動作が本当にバグだということを確認してみてください.Wgetがクラッシュし た場合,それはバグです.Wgetがドキュメントのように動作しない場合,それ はバグです.奇妙な動作をするが,期待した動作をさせる方法が不明な場合, おそらくバグです.
  2. できるだけ単純な状況で,バグを繰り返してみてください.例えば,Wgetが ‘wget -rl0 -kKE -t5 -Y0 http://yoyodyne.com -o /tmp/log’をダウンロー ドしている間にクラッシュする場合,クラッシュが再現されるかどうか,より 単純なオプションの組み合わせでも発生するかどうか試してみるべきです.ペー ジがクラッシュの引金になっているかどうかを調べるため,クラッシュが発生 した場所のページでダウンロードを開始してみてください.

    また,‘.wgetrc’の内容を知ることに興味がありはしますが,バグメッセー ジにそれをそのままダンプするのは,余り良い考えではありません.代わりに, ‘.wgetrc’を伴うバグの報告が間違っていないか,最初に確認してみるべ きです.‘.wgetrc’の設定がバグに影響があることが分かる場合のみ,ファ イルの適切な部分をメールを送ってください.

  3. Wgetを‘-d’オプションで開始し,出力結果(または,その適切な部分)を送っ てください.Wgetがデバッグのサポート無しでコンパイルされている場合,再 コンパイルしてください—デバッグサポートをオンにしたバグの追跡は 非常に簡単になります.

    注意:バグレポートのアドレスに送る前に,デバッグログから微妙な問題を含 む可能性のある情報を削除してあることを確認してください.-dではわ ざわざ微妙な情報を収集していませんが,ログにはWgetがサーバと通信内容が そのまま完全に含まれるでしょうから,パスワードやダウンロードした データの一部が含まれる可能性があります.バグレポートのアドレスは公開し て保管されるので,全てのバグレポートが誰からでも見えることを意識したほ うが良いでしょう.

  4. Wgetがクラッシュした場合,デバッガで動作してみてください.例えば,逆追 跡するため,gdb `which wget` coreとしwhereと入力します. システム管理者がcoreファイルを利用不可能にしている場合は動作しないかも しれませんが,試してみても大丈夫です.

[ < ] [ > ]   [ << ] [] [ >> ]         [冒頭] [目次] [見出し] [ ? ]

8.5 移植

すべてのGNUソフトウェアと同じように,WgetはGNUシステムで動作します.し かし,ビルドとコンフィグレーションにGNU Autoconfを使用していて,特定の Unixの“特別な”機能の使用は避けているので,全ての一般的なUnixの類でコ ンパイル(と動作)が可能でしょう.

様々なWgetのバージョンが,多種のUnixシステムでコンパイルされテストされ ていて,それには,GNU/Linux,Solaris,SunOS 4.x,OSF (別名 Digital Unix またはTru64),Ultrix,*BSD,IRIX,AIX,その他を含みます.これらの システムには,もはや一般に利用されていないものもあり,最近のWgetのバー ジョンではサポートされていない可能性があります.御利用のシステムでWget のコンパイルに失敗する場合,それを知らせてください.

親切な貢献者のおかげで,Wgetのこのバージョンは,32-bitのMicrosoft Windowsのプラットホームで,コンパイルし動作します.それは,MS Visual C++ 6.0,Watcom,Borland C,そしてGCCコンパイラを使用したコンパイルが成 功しています.当然,Unix で利用可能ないくつかの特徴に障害がありますが, Windowsを押しつけられている人々の代用品として動作します.WgetのWindows 固有の移植は将来的なサポートを保証していませんが,これまで何年もテスト されています.Windowsでの利用に関する全ての疑問と問題は,Windowsに関連 する機能を自主的に監理しているひとが注目するように, wget@sunsite.dkのWget メーリングリストに報告すべきです.


[ < ] [ > ]   [ << ] [] [ >> ]         [冒頭] [目次] [見出し] [ ? ]

8.6 シグナル

Wgetの目的がバックグラウンドで動作することなので,ハングアップシグナル (SIGHUP)を受け取り,それを無視します.出力が標準出力の場合,ファ イル名‘wget-log’にリダイレクトされます.それ以外では, SIGHUP は無視されます.これは,開始後Wgetの出力をリダイレクトし たい場合便利です.

 
$ wget http://www.gnus.org/dist/gnus.tar.gz &
...
$ kill -HUP %%
SIGHUP received, redirecting output to `wget-log'.

それ以外に,Wgetはあらゆるシグナルに干渉しようとしません.C-ckill -TERMkill -KILLは同様にそれをキルします.


[ << ] [ >> ]           [冒頭] [目次] [見出し] [ ? ]

この文書は新堂 安孝によって2009年9月22日texi2html 1.82を用いて生成されました。