FreeBSD QandA 83

FreeBSD QandA

Q. FreeBSD を FTP proxy 経由でインストールしたいのですが、
   どうすれば良いのでしょうか?

A. FTP のプロキシサーバには大きく分けて二種類あり、プロキシとクライアント
   との通信で FTP を使うものと HTTP を使うものがあります。FreeBSD をイン
   ストールする際は、インストーラ (sysinstall) がクライアントとなりますが、
   HTTP を使うタイプのものは 4.0-RELEASE で初めてサポートされました。これ
   より前にリリースされた 3.4-RELEASE 以前は FTP を使うタイプしかサポート
   していません。

   FTP をサポートしている HTTP proxy では、ftp://host[:port]/path 形式の 
   URL を受け付けて
                 HTTP (ftp URL)             FTP
        client <================> proxy <=========> remote_server

   という形で動作します。(ブラウザの proxy 設定で HTTP と FTP について同
   じ host/port を指定するのはこのタイプです。例えば、squid や wwwoffle、
   また、delegate も設定によってはこのモードで動作します)

   このタイプは 3.4R 以前の installer では対応できません。事前に wget や 
   Web ブラウザを使うなどして、必要とされる FreeBSD 配布ファイルを入手し
   ておかなければなりません。一旦手元に配布ファイルを取り寄せてしまえば、
   後は local mirror server を立てるなり、DOS パーティションにコピーする
   などインストール方法は任意です。

   一方で FTP proxy は
                   FTP               FTP
        client <=========> proxy <=========> remote_server

   という動作をします。こちらはプロキシの実装にいくつかの種類がありますが 
   大抵 installer から直接扱えます。(例は delegate のマニュアル、ncftp3 
   の firewall 関連の設定マニュアルなどを参照してください)

   プロキシが "ユーザ名: 誰々@どこそこ.co.jp" でアクセスするタイプの場合、
   普通の FTP インストールと違うのは、インストーラの Options メニューから 
   FTP username を選んで、

       ユーザ名に anonymous@ftpサーバのFQDN
       パスワードに自分のメールアドレス

   を入力しておく事と、Media -> FTP -> URL と選んで

       ftp://proxy_host[:port]/pub/FreeBSD/releases/

   としておくことです。なお、proxy_host はホスト名または IP アドレスで
   指定し、必要ならポート番号を ":" に続けて記述します。

   また、delegate では以下のような URL を指定する方法も使えます。

       ftp://proxy_host[:port]///ftp.FreeBSD.org/pub/FreeBSD/releases/

   プロキシのホスト名のあとの "/" 3 本がみそです。
   URL 記述では host 名は '/' までで、それ以降が directory path として
   扱われるので、host///dir の形では host の //dir を参照することになり、
   結果としてプロキシに接続した後でインストーラが

       cd //ftp.FreeBSD.org/pub/FreeBSD/releases/

   を実行することになります。

   [求む!その他のproxyでの方法]

間違い・追加情報を見付けた場合は、 修正案の投稿のしかた を読んだ上で、
QandA@jp.FreeBSD.org まで お知らせください。