MAP16: FTPファイルの COMPRESSION(圧縮)                       パトリック・クリスペン                          鈴木 孝幸   訳 "旅は思い出の中でのみ素晴らしいものである。" -- Paul Theroux, The Observer 紙に引用されたもの パーソナルコンピュータをしばらくでも所有すると、すぐにでも自分のディ スク容量が無限ではないことを実感すると思います。問題の解決法の一つは、 compression (圧縮)ソフトウェアパッケージを利用することです。このパッ ケージは、使用しないプログラムを"押し潰して"、小さな"箱(box) "に固め ます。そして、他のプログラムのためにディスク容量をもう少し空けます。 ディスク容量の問題は、パーソナルコンピュータだけの問題ではないことは すぐに気がつくと思います。ftp サービスを通じて利用できるファイルの数 が毎日増加していくので、ftp サイトでは、限られたディスク容量の中に、 より多くのファイルを格納できる方法を積極的に探しています。 ftpサイトでは、ファイル compression (圧縮)を用いてこの問題を解決して います。 利点としては、compress されたファイルは、ftpサイトのコンピュータ上に ずっと少ない容量しかとらない点です。欠点は、 compress されたファイル は、uncompress(展開)するまではまったく利用することが出来ないという点 です。 待ってください、もっと厄介な問題があります。ファイルを uncompress し ようと思った時には、まずそのファイルがどの compression 方法で compress されたかを知らなければなりません。残念ながら、ftp ファイルの標準とな る compression 法というのは存在しません。今日、「何百もの」異なるファ イル compression 法が使われています:( ファイルを uncompress する前にどの compression 法が使用されたかを知 らなければならない場合、どうやって調べればよいのでしょうか。実際は、 とても簡単です。以下のようにします: 1. ほとんどの ftp ディレクトリには、そのディレクトリにあるファ イルの一覧をしめす READ.ME ファイル(訳注1)があります。親切な ftp サイトでは、より詳しく説明した READ.MEファイルがあるかも しれません。つまり、どの方法で compress したのか、また、 uncompress するのに必要なソフトウェアをどこから無料で入手で きるかが説明されています。 2. ファイルの拡張子(extensions)を調べます。拡張子を調べて、以下 に示す一覧表と比較することによって、どの compression 法が使 われたのか、そのファイルを uncompress するのにどんな種類のソ フトウェアが必要なのが分かります。 幸いにも、大部分の uncompression ソフトウェアは、パブリックドメイン (つまり、完全に無料という意味です)(訳注2)、あるいはシェアウェア(つま り、ソフトウェアのコピーを入手するのは無料だけれども、そのソフトウェ アを継続して使い続けるつもりならばソフトウェアの作者にいくらかの料金 を払わなければならないという意味です) です。何よりもよいことは、大部 分の uncompression ソフトウェアが ftp を利用して入手可能であるという ことです! :) 以下にあげる一覧表は、世界中の ftp サイトを訪れてまわる時に出あうこ とになる最も一般的な拡張子をいくつか示しています。また、こうした拡張 子を持ったファイルを転送する場合に必要な転送モード、ファイルを転送し た後に uncompress するために必要な uncompress ソフトウェアパッケージ として何が必要か、そして、各拡張子についての補足のコメントも一覧表に 加えてあります。 MAP01 で述べたことを言い換えますと以下のようになります。もしかすると、 一覧表に載っていない compression 法が、まさにあなたの「お気に入りの」 compression パッケージで使われているかもしれません。例えそうだとして も、そのことを個人的に言ってこないでください。今日、文字通り「何百も の」compression 法が存在しますので、その全てを一覧表に加えることは不 可能です。 提案:以下の一覧表を保存して、見たことのない拡張子に出会った場合に参 照するようにしてください :) そして、以下の一覧表中で "archie" につい て述べていることに注意してください。 archie とは FTP検索ツールのこと で、明日説明する予定です。 ----- (以下の一覧表は、Patrick Crispenが "The EFF's Guide to the Internet" を改造したものです) ファイル 転送 uncompress 補足のコメント 拡張子 モード パッケージ ------------ ------ ---------- ---------------------------------- .txt or .TXT ASCII テキストそのもの。つまり、ファイ ルの内容は、プログラムではなくド キュメントであり、 uncompress す る必要はありません。 .ps or .PS ASCII ポストスクリプト(Adobe社のページ 記述言語) のドキュメントです。ど のポストスクリプト対応プリンタで も印刷できます。あるいは、GNU プロジェクトの GhostScript のよ うなプレビューアを使ってプレビュー することが出来ます。 .doc or .DOC ASCII .txt と同じテキストドキュメント の普通の拡張子。 (次のことに注意 すること。.doc と .DOC は、Microsoft Word のドキュメント(バイナリファ イル) にもこの拡張子が使われてい ます。アヒル理論(duck theory)(訳注3) により両者の区別はつくでしょう) 以降の拡張子がさらに付いていなけ れば、decompression する必要はあ りません(訳注4): .Z Binary uncompress この拡張子はUnixの標準の compression 法を示しています。 uncompress するには、あなたのホ ストシステムのコマンドラインから 次のようにタイプし uncompress filename.Z そして、入力キー(訳注5)を打ちます。 u16.zip はMS-DOSのプログラムで、 あなたのコンピュータ上に .Z ファ イルをダウンロードして uncompress してくれます。Macintosh 上で同様 の働きをするプログラムは MacCompress と呼ばれます。 (これ らのプログラムを探すためには archie を利用してください) .zip or .ZIP Binary PKZip or この拡張子は、PKZIP として知られ Zip/Unzip ている普通のMS-DOSの compression プログラムで compress したことを 示しています。(archieを使って PKZIP204.EXE を探してください) 多くの Unixシステムでは、un-Zip (展開)するためのプログラムは unzip という名前です。 .gz Binary gunzip Unix版のZIPです(訳注6)。uncompress するためには、ホストシステムのコ マンドラインから gunzip filename.gz と打ち込んでください。 .zoo or .ZOO Binary zoo Unix と MS-DOS での compression フォーマット。 uncompress するた めには、zoo というプログラムを使っ てください。 .shar or .Shar Binary unshar 別の Unix フォーマット。uncompress するには unshar を使ってください。 .tar Binary tar 別の Unix フォーマット、通常、複 数の関連のあるファイルを一つの大 きなファイルにまとめるのに使用さ れます。全ての Unix システムは、 こうしたファイルを "un-tarring (展開)"するための tar というプロ グラムを用意しています。 普通、tar でまとめられたファイル は、 gz法でも圧縮されているので (訳注7)、まず uncompress コマン ドを使って uncompress してから、 tar コマンドを使うことになります。 .sit or .Sit Binary StuffIt Macintosh フォーマット。StuffIt というプログラムが必要です。 .ARC Binary ARC or 別のMS-DOS フォーマット。ARC ま ARCE たは、ARCE というプログラムが必 要です。 .LHZ Binary LHARC 別の MS-DOSフォーマット。LHARC というプログラムが必要です(訳注8)。 "最後にちょっと注意を: ftpでファイルを持ってくる場合には、その前にファ イルのサイズのチェックを忘れないようにしてください。ネットワークは、 驚異的なスピードの転送レートでデータを転送します。しかし、あなたのホ ストシステムへ転送するのに数秒しかかからなかった 500,000 バイトのファ イルであっても、もし 2400 ボーのモデムを使っているならば、あなたのコ ンピュータにダウンロードする場合には1時間か2時間以上かかるかましれ ません。また、あなたのホストシステムは、1度にオンラインで保存できる バイトの総量に制限があるかもしれません。さらに、ほとんどないとは思い ますが、ひょっとするとウィルス (virus) に感染したファイルを持って来 てしまうことがあるかもしれませんので、もしも、ネットワークを介してダ ウンロードを大量に行なおうと計画しているのでしたら、そうしたウィルス に感染した場合に備えて、優秀なアンチ-ウィルス(anti-viral) プログラム に投資しておいた方がよいでしょう。"(1) FTPMAIL と バイナリファイル(BINARY FILE) 昨日、Eメールを利用して、Eメールの手紙を以下のアドレスに送ることに よって、ftp ファイルを入手することが可能なことを説明しました。 Australia ftpmail@cs.uow.edu.au France ftpmail@grasp.insa-lyon.fr Germany ftpmail@ftp.uni-stuttgart.de Great Britain ftpmail@doc.ic.ac.uk Ireland ftpmail@ieunet.ie Sweden ftpmail@lth.se USA ftpmail@sunsite.unc.edu USA ftpmail@ftp.uu.net USA ftpmail@decwrl.dec.com そのEメールの本文には以下のようなコマンドを書かなければなりませんで した。 reply connect chdir get quit 新しい事を説明する前に、いくつか復習しておきたいことがあります。 まず第一に、 reply というコマンドについてです。このコマンドは、あなたがファイルを送って もらいたいEメールアドレス(訳注9) を書くようにしてください。もし、昨 日示した次の例 reply pcrispe1@ua1vm.ua.edu connect ftp.sura.net ascii chdir /pub/articles get fall91.issue quit を reply コマンドのアドレスを変更しないでそのまま使った場合、FTPmail は、あなたのところではなく、*私*(pcrispe1@ua1vm.ua.edu) にファイル を送ってしまいます :) どうか replyの行を*自分の*インターネットEメールアドレスに書きかえ るのを忘れないようにしてください。 また、昨日説明しなかったのですが、FTPmail では、1通につき CHDIR コマ ンドは1つだけという制限があります。 最後に、昨日、あなたの所属するローカルのインターネットサービス提供者 に、ファイルの転送時にサイズの制限があるかどうかを問い合わせるように いいました。もしも、サイズに制限がある場合、コマンドのリストに次のコ マンドを追加してください。 chunksize このコマンドは、ファイルをあなたのシステムが扱えるチャンク(chunk) に 分割します。もし、あなたのシステムがインターネットからのメッセージに 50,000 文字という制限があった場合、チャンクサイズを決めるコマンドは 次のようになります。 chunksize 49000 ( チャンクサイズをあなたのシステムの限界値以下に確実に設定しておきた いでしょう) このコマンドは、ファイルを 49,000 文字のチャンクに分割し て、各チャンクをあなたへ送ります :) さて、あなたは既に ASCIIテキストのファイルを FTPmailを利用して入手す る方法を知っています。今日は、FTPmailを利用して バイナリファイルの入 手法を説明するつもりです。 FTPmail を利用してのバイナリファイルの入手は、難しくありません。ちょっ と、余分な手順が付け加わるだけです。すべてのEメールは、ASCII 形式で なければなりませんので、FTPmail は、あなたにファイルを送る前にバイナ リファイルを ASCII に encode (符号化) しなければなりません。そして、 あなたはファイルを受けとったら、ファイルを decode (復号化)してバイナ リへ戻します :) 幸いにも、FTPmail がバイナリファイルを ASCII に encode する方法は2 つあります。第1の方法は、"uuencode"と呼ばれるもので行なわれます。 あなたが、 uudecode プログラムを持っていさえすれば、-- uudecode プロ グラムはどこのシステムにあります (あなたのサイトにも uudecode はシス テムにおそらく配備されています) -- 全体の処理は簡単です。 第2の encode の方法は、"btoa" (binary to ascii)と呼ばれるものを利用 することです。あなたの所属するローカルのインターネットサービス提供者 が、 btoa についてもう少し詳しく説明してくれるでしょう。 さて、ASCII ファイルを FTPmail で入手するためには、 FTPmail アドレス に送るメイルの本文に次のようなコマンドを書いてメイルを送ればよいので す: reply connect ascii chdir chunksize get そして、FTPmailを利用してバイナリファイルを入手するためには、FTPmail に送るメイルの本文に以下のコマンドを書いて送ればよいのです: reply connect chdir chunksize get 明日の予定: - ARCHIE - あなたが訪れることのできる FTPサイトの*膨大な*一覧表 宿題 休憩しましょう。当然です :) 出典 (1) "The EFF's Guide to the Internet", reprinted by permission. (訳注1) READ.ME ファイルとは、ファイル名が "READ.ME" という名前のファ イルです。README、00README となっていたり、readme と小文字で あるかもしれません。 (訳注2) フリーソフトと呼ばれることもあります。あるいは、シェアウェア (sharware) に対して、フリーウェア (freeware) と呼ぶこともあ ります。 (訳注3) アヒル理論については MAP15 に詳しい説明があります。 (訳注4) つまり、.doc.Z または .doc.gz のように .doc 拡張子の後に拡 張子がつくことがあります。 (ただし、MS-DOSでは、ファイル名の 長さの制限からこのようなことはありません:-) (訳注5) 入力キーはリターンキーとも呼ばれます。 (訳注6) 厳密にいうならば、GNU の compress コマンドに相当するソフトウェ アであり ZIP とは別のものです。compress コマンドで利用してい る compression アルゴリズムの特許の関係で、compress コマンド とは別の compression アルゴリズムにより実装されています。 (訳注7) 「gz 法」とありますが、compress コマンドや gzip コマンドによ り compression を行なうことです。 また、tar コマンドでファイルをまとめた後、compression すると 拡張子は次のようになります。 .tar.Z (compressによる) または、 .tar.gz (gzipによる) つまり、拡張子が拡張子の後ろに追加されていきます。 ちなみに、 MS-DOS では、拡張子の長さの制限(3文字)から、 tar + gzip したファイルの拡張子が .tgz となっている場合もあ るようです。 (訳注8) .LHZ 拡張子のついたファイルの展開には、現在は LHARC よりも LHA を使うのが一般的です。LHA は LHARC と同じ開発者による、 LHARCの後継となるソフトウェアです。 (訳注9) 原文では FTPmail アドレスとなっていますが、結局は、FTPファイ ルを送りたいインターネットEメールアドレスを書くので訳はEメー ルアドレスとしてあります。 Roadmap原作著作権所有者   Patrick Douglas Crispen, 1994                PCRISPE1@UA1VM.UA.EDU 翻訳者         鈴木 孝幸   suzu@dblab.is.tsukuba.ac.jp 日本語版著作権所有者    Reiko Sekiguchi, 1995                sekiguch@ulis.ac.jp