UN Ⅸ知恵袋 mlrror 相変わらず WWW がはやっています。プラウサをめ ぐる熾烈な機能競争の結果、 OS 自体力ワ・ラウサの機能を 内包するまでになりました。、インターネット =www" という図式がひろく受け入れられている風朝に疑問を感し ますが、インターネットの専門家ではないーイ殳の人にとっ て、 WWW のみか魅力的ロ央っているのも事実です。 たしかに、 WWW プラウザを使えば、インターネッ トはおろか、計算機の仕組みについての理解がなくても、 いつでも必要な情報を手許に引っ張ってくることができ ます。計算機に劇染みのない多くの人に受け入れられたの は、リンクをクリックするだけて世界中の勵里するトピッ クが目の前に現れるという単鈍さゆえでしよう。 描丘は、クリックしなくても自重加勺にリンクをたどって ローカルディスクに取り込む、、 Web 巡回ソフト " と呼ば れるものもあります。これらのソフトウェアは、あるべー ジを起点としてページ内に含まれるリンクを抽出し、順番 にアクセスしていく単純なものです。もちろん、以前に取 ってきたページとこれから取るべージを上交し、更新され たものだけを取ってきます。 私には、 Web 巡回ソフトがはたして役に立つのかどう か分かりません。 WWW (World Wide Web) はその名 のとおり、世界中に散らばった情報がハイバーリンクで結 合された、まさに網の目のような構造をもっています。あ るべージを始点としてその近傍から集められた情報が、は んとうに必要な情報である確率は低いように思えます。 インターネットの世界での巡回ソフトの老舗といえ ば、やはり mirror でしよう。ただし、 mirror の対象 は WWW ではなく FTP です。世の中にはたくさんの anonymous ( 匿名 ) FTP サイトがあります。これらのサ イトの多くは、本家サイトのファイルのコピーを取るため 78 に mirror を利用しています。 mirror を使えは、最小の 通信量でつねに本家サイトと同しファイルをローカルディ スクにコピーすることができます。 mirror の概要 mirror は、 FTP (File Transfer Protocol) を使って リモート FTP サーバーのファイルをローカルディスクに コピーします 1 。もちろん、単純にすべてをコピーするの ではなく、更新されたファイルのみをコピーし、すでにロ ーカルディスクにあるものは除外します。これによって、 通信量を最小に抑えています。・本来 mirror は、 anony- mous FTP サーバーの管理者が、自分の FTP サーバ ーにオリジナルの複製を置く手助けをするコマンドです。 anonymous FTP サーバーヘアクセスしてみると、世界 中のさまざまなソフトウェア、たとえば GNU のツールや X ウインドウ・システムなどのソースファイルが置かれて います。これらの膨大なファイルを、いちいち更新のチェ ックをしながら FTP していくのは、もはや人手では不可 能です。 mirror を使えば、特定の FTP サーバーク寺定 のディレクトリを、更新のチェックをしながらコピーでき るのです。以後 mirror コマンドを使ったコピーのこと を、屯な複製と区別する意味で、、ミラー " と呼びます。 mirror のインストーノレ mirror の最斤ノヾージョンは 2.8 (mirror-2.8. tar. gz) です。有名なソフトウェアですから、たいていどこの 1 ローカルホストで運用されている FTP サーバーに対しても重川乍します が、そのことに意ゞあるとはえません。 UNIX MAGAZINE 1997.8
FTP サーバーにも置いてあるでしよう 2 。 mirror は perl 己されています。 mirror を利用する計算機に PerI が なければ、同時にインストールする必要があります。 PerI の職斤バージョンは 5 ですが、まだ多くの組茅ヾージョ ン 4 の Perl を使っていると思われます。 mirror はど ちらのバージョンの PerI でも重川乍します。ただし、旧い mirror は Perl 5 に対応していないかもしれません。そ の場合、パッチを当てる必要があります。パッチ (per15- patch) は、 mirror のアーカイプが置いてあるディレク トリにあります。 mirror 2.8 は、 PerI 5 に対応している のでパッチを当てる必要はありません。旧いバージョンの mirror を利用している人は、パッチを参考にして Perl 5 て重川するようにしてください。 mirror のインストールは、基本的にアーカイプを展開 するだけです。インストール先のディレクトリでアーカイ プを展開してください。こ刎列では、 /usr/local/mirror にインストールすることにします。 $ mkdir /usr/local/mirror $ cd /usr/local/mirror $ tar zxf mirror—2.8. ta て・ gz mirror の実彳予コマンドは mirror. pl です。 mirror を コマンド行から実行できるようにするために、パスの通っ ている場所にシンポリック・リンクを作っておきます。 $ cd /usr/local/bin $ 1 Ⅱ—s /usr/local/mirror/mirror. pl mirror 次に、必要に応して mirror. pl スクリプトをシステムの 竟に合わせて修正します。 mirror コマンドは PerI ス クリプトですから、普通のテキストエデイタで編集できま す。修正が必要な変数は、 $extra-path と $big-temp の 2 つです。それぞ mirror コマンドがほかのコマンド を実行するための検索パス、 mirror コマンドが一 - 印判勺に 生成するファイルを市タするディレクトリを指定します。 最後に socket. ph を置き換えます。このイは Perl 4 を使っている場合にのみ必要で、 PerI 5 であれは坏要で す。 socket. ph の内容は、各オペレーティング・システ ムに依存します。かならすシステムにインストールされて いるものを使いましよう。 socket. ph は、 Perl 4 のイン ストール時に h2ph コマンドで生成されているはすです。 2 ftp://ftp.iij ・ ad ・ jp/pub/network/mirror-2.8/mirror-2.8. tar ・ gz などにあります。 連載 / IJN Ⅸ知恵袋ー⑩ UNIX MAGAZINE 1997.8 普通は /usr/local/lib/perl/sys に置かれています。詳し くは PerI 4 のインストール・ガイドを見てください。な お、特例として、 Solaris 2. x の場合はシステムにインス トールされている socket. ph は使わないでください。代 わりに、 mirror のアーカイプに含まれている socket. ph- solaris を使います。 Solaris 2. x の h2ph コマンドで生 成される socket. ph ではうまく重川乍しません。 ファイノレのミラー さっそく使ってみましよう。 mirr 。 r コマンドの書式は 次の 2 つです。 mirror [ ガ 09S ] —gsite : を佖 t んれ佖 me mirror [ ガ四 s ] c 。れ五 9- 川 e 上の書式は、おもに手動でコマンド行から起重丿庁る場合 に使われます。下の書式は、設定ファイルに細かなを 言己しておき、バッチ処理的に連続してミラーする場合に 使われます。今回は前者についてみていきます。設定ファ イルを使ったガ去は次回に解説します。 site にはリモート FTP サーバーの計算機名を、盟 at ん - name にはミラーしたいファイルのパス名を指定します。 たとえば、 ftp.f00.co.jp の /pub/doc/mirror. txt とい うファイルを取得するのなら、次のように入力します。 $ mirror —gftp.f00 ・ co ・ jp:/pub/doc/mirror. txt 基本的な重川は、手動で anonymous FTP をおこな い、ファイルを取得するときと同じです。 mirror コマンドと FTP サーバーとのあいだの岩田な やりとりを、図 1 に示します。 通常、 mirror は FTP サーバーとのやりとりを出力し ません。図 1 では、 -kverbose=true オプション・スイツ チを指定し、すべてのやりとりを出力するようにしていま す。オプション・スイッチについては彳あします。 図 1 を簡単に解説します。ます、 -g スイッチて指定し た FTP サーバーに接続すると、 anonymous ユーザーで ログインします。次に一 g スイッチで指定されたディレク トリに移動し、ディレクトリのリストをとったあとにファ イルを取得します。乍自体は、手動で ftp コマンドを 使う場合と同しです。なお、 FTP サ→ヾー上のファイル の甦刑刻を調べるため、ディレクトリのリストをとると 79
連載 / IJN Ⅸ知恵袋ー⑩ 図 1 mirror の乍 150 Opening BINARY mode data connection for mirror. txt ( 2483 bytes) . ー > RETR mirror . txt 200 PORT command successful . ー > PORT 10 , 1 , 1 , 1 , 137 , 210 200 Type set to I . ー > TYPE I 226 Transfer complete. 150 Opening ASCII mode data connection for /bin/ls. ー > LIST —1Rat 200 PORT command successful . ー > PORT 10 , 1 , 1 , 1 , 137 , 209 200 Type set to A. ー > TYPE A 250 CWD command successful . ー > CWD /pub/doc 200 Type set to I. ー > TYPE I 350 Restarting at 0. Send STORE 0 て RETRIEVE to initiate transfer. ー > REST 0 230 Guest 10gin ok , access restrictions apply ・ ー > PASS xxx@yyy.zzz ・ co ・ JP 331 Guest login ok, send your complete e—mail address as passvord. ー > USER anonymous 220 ftp.f00 ・ co ・ jp FTP server (Version Ⅱー 2.4 ( 3 ) Thu Mar 6 11 : 17 : 58 JST 1997 ) ready. Connecting to ftp.f00.co ・」 p $ mirror —kverbose=true —gftp.f00 ・ co ・ jp : /pub/doc/mirror. txt Got 2483 bytes ( 2483 bytes/sec) 226 Transfer complete. Got mirror . txt 2483 ー > QUIT 221 Goodbye. きに -1Rat を引数として渡しています。ここで渡した引 数が、 FTP サーバー上で ls コマンドを実行するときの引 数になります。ー R カ甘旨定してあることからも分かるよう に、このままでは再 ) 髄勺にすべてのディレクトリのリスト をとってしまいます。もし、取得したいファイルがサプ ディレクトリにないことが分かっていれば、オプション・ スイッチに一 r を指定します。すると、指定されたディレ クトリのリストだけをとるようになります。 ディレクトリのミラー 1 つのファイルをミラーするだけなら、手動で anony- mous FTP サーバーにアクセスする際の手間と変わりま せん。 mirr 。 r か本領を囎軍するのは、ディレクトリをミラ ーする場合です。書式はファイルをミラーするときと同し ですが、ファイルのパス名を指定する代わりに、ディレク 80 トリのパス名を指定します。 ftp.foo.co ・ jp の /pub/doc 以下のファイルをすべてミラーするには、次のように入力 します。 $ mirror -gftp.f00. co ・ jp:/pub/doc/ ファイルをミラーしたときと同しく、 anonymous ユー ザーで ftp.foo.co.jp にログインしたあと、 /pub/doc 以 下のファイルをすべてミラーします。 サプディレクトリをミラーする必畯がなければ、ファイ ルのミラーと同しように、 -r オプション・スイッチで再 り髄勺なディレクトリ・リストの取得を禁止できます。 mirror のオプション・スイッチ 手動、 mirror を利用するときは、以下のオプション・ スイッチカ彳殳に立つでしよう。 UNIX MAGAZINE 1997.8
連載 UN Ⅸ知恵袋ー⑩ デバッグ出力を有効にします。複数回指定してデバッグ レベルを上げられるようになっており、より詳細な清報 を出力させることができます。現在、レベル 4 まて指 ん。デバッグレベルが 2 に設定されます。 ファイルの上交だけをおこない、実際にはミラーしませ 定できます。 ファイルの数が多い場合、処理速度の向上か期待でき ファイルの情報を管理するために DBM を使います。 ・—gsite : 〃 0 れ佖 me ます。 再 ) 髄勺なディレクトリ・リストの取得をおこないません。 ます。 合は、かならす、 / " で終るパス名を指定するようにし と通信が必要になります。ディレクトリを取得する場 レクトリのリストをとってしまうため、よぶんな時間 になりますが、後者の場合はいったん /pub 以下のディ お、 ftp:/pub/doc/ と ftp:/pub/doc は結果的に同し ディレクトリにあるすべてのファイルを示します。な ftp:/pub/doc/" は FTP サーバー ftp の /pub/doc ftp の /pub/doc/mirror. txt というファイルを示し、 って、、 ftp:/pub/doc/mirror.txt" は FTP サーノヾー クトリ以下のすべてのファイルを取得します。したが っている場合はディレクトリとみなされ、指定ディレ いファイルのパス名を指定します。パス名が / で終 の名前を、ん 7 田 me に FTP サーバー上の取得した 取得するファイルを指定します。 site に FTP サーバー 指定しなけれはンヾイナリモードです。 ファイルの中幻幻こ、 FTP のテキストモードを使います。 ファイルの属生をコピーします。 バージョンを表小します。 UNIX MAGAZINE 1997.8 変更がなくてもファイルを強制的にコピーします。 user というューサー名で FTP サイトにログインし ます。ログインすると、パスワードを訊いてくるので、 社 ser のパスワードを入力します。 -u を指定しないと、 anonymous ユーサーでログインし、パスワードとして メールアドレスを用います。 取得したファイルを見やすい書式で出力します。 ・一 k ん e リ = ゼ 0 ん e ん e リの値をん e に設定します。今回は、 verbose キ ーのみを紹介します。 verbose キーはん e として true か false をとります。 true に成疋すると、 mir- ror コマンドと FTP サーバーのやりとりか画面に出力 されます。ここで指定するん e は、 mirror の 2 番目 の書式で使う設定ファイル中に言当するものです。設定 ファイルの田は次回解説します。 Macintosh や Windows のように、 GUI カ埔ⅱ面に押 し出されているオペレーティング・システムでは、 ftp コ マンドのようなキャラクタベースのインターフェイスは 受け入れられません。これらのシステムでは、 FTP にも GUI がよく使われます。なにかと煩わしい GUI ですが、 ことディレクトリ操作ではイリで、あたかもディレクトリ やファイルのコピーと同しように FTP が可能になりま す。 FTP がシームレスに実現されているのは熱青らしい ことです。ただ、現実の世界を忘れてしまうと、たんなる コピーのつもりでうつかり多量のトラフィックを発生させ てしまうこともあります。 mirror もそうした危険生を秘 めています。簡単に FTP サーバーのディレクトリをミ ラーできるからといって、やみくもに実行していては莫大 なトラフィックが発生してしまいます。必要なファイルの み、ほかの人に迷惑のかからない時間帯に利用するように ・じ掛けてください。 次回は設疋ファイルを用いた mirror コマンドの実行 と、設定ファイルの書式を解説します。 ☆ 81 ( しま・けいいちシャーカ
特集 124 1 1 5 99 87 82 78 68 62 56 連載 21 おうちでらんラン LAN ・・・・・・岡山聖彦、 片山喜章 ポップなメールでびいひいびい UNIX Communication Notes•• カーネルを読もう ( 12 ) 倉敷芸術科学大学のネットワーク構築・ ネットワーク拡張計画 ( 2 ) 新連載 BSD をハックする・・・・・・齊藤明紀 ハックのための基礎知識 UN Ⅸ知恵袋・ " ・ " 島慶ー mirror " 山口英 ・・小林和真 UN ー X マルチメディア事始め・・・・・・下條真司 AV 関係のプロトコル ( 2 ) Daemons & Dragons ・・・・••Dinah McNutt プロバイダの変更 F 「 eeBSD ノート " " " 浜田直樹 F 「 eeBSD のコンフィギュレーション NET WORTH ・ " ・••M. steven Baker WEB のセキュリティ PERL ADV OR ・・・・・・ Rand し . schwartz データの抽出と整形 表紙・目冫欠デザク・園部真美 ( AUDR YTH [ DESIGN)
おうちでらんラン LAN 第 4 回 表 1 qpopper2.3. tar. Z の入手先 サイト ftp.qualcomm.com ftp.freebsd.org ftp.eos.hokudai ・ ac ・ JP ftp.jaist.ac.jp ftp.inst.keio.ac ・ JP ftp.nuie.nagoya-u.ac. JP 奨されている理由です。 monkey : POP サーノヾ ディレクトリ /eudora/servers/unix/popper/ /pub/FreeBSD/distfiIes/ /pub/FreeBSD/distfiIes/ /pub/FreeBSD/distfiles/ /pub/mirror/ftp.qualcornm.com/popper/ /pub/FreeBSD/distfiles/ ーを umpc にインストールした ら、 applepc からもメールか読めるようになるんや。 あっぷる : POP を使えばいいの monkey : 会社でも、メールサーバーから POP を使っ てメールを取り込んでたからな。おんなじようにできる わけや。 あつぶる : ポップっていう名則がいいオ mo Ⅱ key : ええ感しやろ。いかにもメールをいきなり取っ てくるっちゅう雰囲気で。 あつぶる : はじけ飛ぶっていう感しよね。 monkey : メールがはしけ飛んだらいややなあ。 あつぶる : はじけるのはポップコーンで十分 、なんでこうすぐに monkey : ホン菓子でもええな・ 話がそれるんや。 あつぶる : POP サ→ヾーをインストールしないといけな いんでしよ。 monkey : そや。さっそくとりかかろうか。ポップソン グでも聴きながら。 あつぶる : それってポピュラーの省略形しゃない。 monkey : まあ、どうでもええやん。 FreeBSD に POP POP サーバーのインストール サ→ヾーのインストールや。 UNIX MAGAZINE 1997.8 15 インストールカ法は前回までと同してす。今回は省略します。 と仮定して説明を進めます。 FreeBSD て利用する POP /usr/ports/mail/popper ディレクトリかすでにある ない場合は、インストールします 15 境か準備されています。もし ports をインストールしてい らそこて価単にコンパイルしてインストールできる環 と、 /usr/ports/mail/popper というディレクトリカイ乍 ていません。その代わり、 ports をインストールしておく FreeBSD の配布キットには、 POP サーバーは含まれ サーバーのプログラムは、 qpopper と呼はれるもので、バ ージョンは 2.3 です。 以下に手順を示し、これに沿って説明していきます。 1. 配布キットを入手 2. コンノヾイノレ 3. インストール 4. プログラム起動 qpopper2.3. tar. Z の入手 最初は qpopper のソースファイルの入手です。 Free- BSD に ports をインストールしておくと、次に紹介する コンパイルの時点で自動的に FTP でソースファイルを 取ってきてくれます。ここでは、自分で入手する去でイ ンストールします。 必なファイルは qpopper2.3. tar. Z です。表 1 に挙 げた FTP サイトから入手できます。 1 番目と 2 番目が、 コンパイル時の自動 FTP の対象サイトで、 こがおおも とのようです。 ファイルを入手したら、 /usr/ports/distfiles ディ レクトリに置きます。 umpc# (FTP で qpopper2.3. tar. Z を入手 ) umpc# cp qpopper2.3. tar. Z /usr/ports/distfiles umpc# cd /usr/ports/distfiles umpc# ls —aF umpc# ロ qpopper2.3 のコン / ヾイノレ qpopper2.3. tar. Z qpopper のソースを取ってきたら、あとはほとんど何 もすることはありません。ただ、 /etc/passwd ファイル に、次のようなエントリがあることを石薩忍してください。 pop : * : 68 : 1 : : 0 : 0 : POSt Office Owner: /nonexistent : /nonexistent 33