/**************************************************************************/

                   GGGGG  N   N  U   U          I
                   G      NN  N  U   U    ZZZZ     PPPPP
                   G  GG  N N N  U   U      Z   I  P   P
                   G   G  N  NN  U   U     Z    I  P   P
                   GGGGG  N   N  UUUUU    ZZZZ  I  PPPPP
                                                   P
                                                   P

                  gzip(GNU zip) Version 1.2.4 Patchlevel 0
              (gzip Ver1.2.4 X680x0_05 / X68030_05 / MSDOS_05)

                 X680x0 版 / MS-DOS 版共通 取り扱い説明書

/**************************************************************************/

★はじめに★

  gzipとは、GNU project によるファイル圧縮ツールです。
  使い勝手は compress と似てますが、その圧縮率とスピードは、非常に卓越したも
のに仕上がっています(単純に lhaと比較しても、圧縮率、スピードの点で勝ってい
ることが多い)。
  GNU zip Version 1.2.4 を X680x0 に移植し、 X680x0 用に若干のチューンアップ
をしました(チューンアップの内容については後述)。そして、チューンアップされ
た X680x0 版に(なるべく)準拠した MS-DOS 版も用意しました(本家配布の
MS-DOS 版との違いについては後述)。
  また、COPYING を除く、ほとんどのドキュメントを日本語訳しました(いいかげん
ですが)。

  (注)このドキュメント、および関連ドキュメントファイル中に出てくる「本家」
        とは GNU オリジナル配布版のことを指すものとします。


★インストールの仕方★



  本アーカイブは LHa で圧縮されているので、これをまず解凍します。次に、
GZIP.X をパスの通っているところにコピーします。これで、取り合えずはおしまい
です。X68030 をお使いの方は、バイナリ差分 TO030BIN.BFD を GZIP.X に当てると、
X68030 専用バージョン GZIP030.X が作れらますので、これを GZIP.X にリネームし
て使って下さい。GZIP.X は X68000 / X68030 両方に対応していますが、GZIP030.X
は X68030 専用なだけあって、GZIP.X よりもかなり高速です。
  HUPAIR 規格に準拠しているので、fish 上でも使えます。また、ワイルドカード展
開ルーチンを内蔵しているので、COMMAND.X のようにワイルドカードを展開しないシェ
ル上でも使えます。
  gzip.x を、 gunzip にシンボリックリンクを張ったり gunzip.x とリネームして
使う場合、gzip -d と指定したのと同様になります。また、同様に zcat にリンクし
たり zcat.xとリネームしたりして使う場合、 gzip -dcを指定したのと同様になりま
す。
  したがって、シンボリックリンクを使っている方は、gzip.x を gunzip と zcat 
にシンボリックリンクを張りましょう。シンボリックリンクを使っていない方は、
copy gzip.x gunzip.x と copy gzip.x zcat.x を実行しましょう。ディスクの容量
がもったいないと思う方は、gzip.x だけをインストールして、あとはオプションを
覚えましょう。(^^;)
  また、同様に jgzip.x / jgunzip.x / jzcat.x などにリンクを張ったりリネーム
すると、メッセージが日本語になります。

  詳細は、gzip_doc.JPN をご覧下さい。




  本アーカイブは LHa で圧縮されているので、これをまず解凍します。次に、
GZIP.EXE をパスの通っているところにコピーします。これで、取り合えずはおしま
いです。GZIP.EXE を GUNZIP.EXE というファイル名でコピーしておくと、 
GUNZIP.EXE は GZIP -d と同じ振る舞いをします。同様に、ZCAT.EXE というファイ
ル名でコピーしておくと、ZCAT.EXE は GZIP -dc と同じ振る舞いをします。
  また、同様に JGZIP.EXE / JGUNZIP.EXE / JZCAT.EXE にリネームしたりコピーす
ると、メッセージが日本語になります。

  詳細は、gzip_doc.JPN をご覧下さい。




  それから、日本で使う方(ほとんどの場合がそのはずですが)は、環境変数 TZ に
JST-9 をセットして下さい。具体的には、

C:\>set TZ=JST-9          (COMMAND.X, COMMAND.COM の場合)
%setenv TZ 'JST-9'        (fish.x (for X680x0) の場合)
%export TZ=JST-9          (zsh.x (for X680x0) の場合)

などとして下さい。

  さらに、メッセージが日本語の方がよい方は、環境変数 LANG(X680x0 版の場合に
は必ず大文字)に japanese をセットして下さい。具体的には、

C:\>set LANG=japanese     (COMMAND.X, COMMAND.COM の場合)
%setenv LANG japanese     (fish.x (for X680x0) の場合)
%export LANG=japanese     (zsh.x (for X680x0) の場合)

です。"japanese" の大文字小文字は自由です。セットしなかったり、"japanese" 以
外の内容をセットしている場合には、ヘルプメッセージは英語になります。
  実行ファイル名を jgzip.x / JGZIP.EXE などにしている場合には、環境変数 LANG
の指定に関わらず、メッセージは日本語になります。

#注意#

  日本語訳のメッセージは必ずしも正しい訳とは限りませんので、鵜呑みにしないよ
うに、注意して下さい(^^;)。また、めったに出ないメッセージに関しては日本語で
表示されないものもあります。


  また、圧縮率表示は、本家の場合「ファイルサイズ削減率」を意味するので、もし
200 バイトのファイルが 20 バイトになったならば「90%」と表示しますが、LHa な
どの場合には「元のファイルとのサイズ比」を意味するので「10%」と表示すること
になります。もし、LHa などのような「元のファイルとのサイズ比」による圧縮率表
示を望む場合には、環境変数 GZIP_RATIO(X680x0 版の場合には必ず大文字)をセッ
トして下さい(セットする内容は何でも構いません。)。具体的には、

C:\>set GZIP_RATIO=a      (COMMAND.X, COMMAND.COM の場合)
%setenv GZIP_RATIO        (fish.x (for X680x0) の場合)
%export GZIP_RATIO        (zsh.x (for X680x0) の場合)

などとして下さい(別に内容は "a" である必要はありません。)。
  セットしていない場合には、本家オリジナル同様、「ファイルサイズ削減率」を表
示します。


  さらに、ワイルドカードにマッチしたファイル群を圧縮して格納する場合に、
マッチしたファイルをソートしてから(アルファベット順に)圧縮ファイルに格納す
ることができます。環境変数 GZIP_SORT(X680x0 版の場合には必ず大文字)を
セットして下さい(セットする内容は何でも構いません。)。具体的には、

C:\>set GZIP_SORT=a      (COMMAND.X, COMMAND.COM の場合)
%setenv GZIP_SORT        (fish.x (for X680x0) の場合)
%export GZIP_SORT        (zsh.x (for X680x0) の場合)

などとして下さい(別に内容は "a" である必要はありません。)。
  セットしていない場合には、ワイルドカードにマッチした順(ファイルエントリ順)
に処理されます。ただ、fish.x / zsh.x などのワイルドカードをシェルが展開する
環境では、本機能はあまり意味を持ちません。


★使用方法(X680x0 版・MS-DOS 版共通)★

  gzip -h と打ち込めばわかります(ぉぃぉぃ)。

  gzip_doc.JPN を読めばわかるでしょう。複数のオプションを1度に指定すること
が出来ます。(-v -c -1 → -vc1) "-v" の代わりに、"--verbose" と指定すること
もできます。(ロングオプション)

  また、環境変数 GZIP にいつも使うオプションをセットしておくこともできます
(gzip_doc.JPN 参照のこと)。


★対応しているツール(X680x0 版のみ)★

1      とうえにぃわん(Twentyone.x/ExT氏作)。

  gzip.x 内部で、Twentyone.x の状態をチェックしていますので、(21文字判別
(+t) とマルチピリオド(+p) のチェック)

                        元のファイル名      圧縮後
        Twentyone +p +t :  ahaha        <-> ahaha.gz
                           ahaha.a      <-> ahaha.a.gz
                           ahaha.ya     <-> ahaha.ya.gz
                           ahaha.foo    <-> ahaha.foo.gz

        それ以外        :  ahaha        <-> ahaha.gz
        (非常駐も含む)   ahaha.ya     <-> ahaha.ygz
                           ahaha.foo    <-> ahaha.fgz
                           ahaha.a      <-> ahaha.agz

  となります。-n オプションをつけない限り、圧縮ファイルにオリジナルのファイ
ル名が保存されているので、展開時には拡張子が元に戻ります。(したがって、
Twentyone.x がなくても、問題なく使うことができます。)

  また、TwentyOne(+T +P あるいは +C) を使用している環境で作成された .gz ファ
イルには、マルチピリオドや標準ではファイル名として使用できない文字を使用した
ファイル名が保存されていることがありますが、そのような .gz ファイルを 
TwentyOne を使用していない環境(あるいは MS-DOS 上)で展開した場合には、ファ
イル名中に含まれる不都合な文字は、自動的に "_" で置き換えられてから、展開さ
れます。

  gzip 1.1 以降から、圧縮ファイルの拡張子のデフォルトは .gz になりました(マ
ルチピリオドをサポートしている処理系では)。MS-DOS 版はマルチピリオドがサポー
トされていないので、拡張子のデフォルトは z ですが、拡張子のないファイル名等
の場合には、.gz をつけます(ex. MAKEFILE -> MAKEFILE.GZ)。 X680x0 版は
TwentyOne の常駐状況に関わらず、.gz がデフォルトにしてあります。

  -S オプションで拡張子を変えることができるので、MS-DOS 版でも常に .gz がよ
いという方は、前述の環境変数 GZIP に 「-S .gz」をセットしておくとよいでしょ
う。このドキュメント等で、「.gz ファイル」は「.z ファイル」のことも含んでい
ます。

  また、gzip 1.2.4 以降から、展開時には圧縮ファイル中に含まれている元のファ
イル名やタイムスタンプを復元しないのがデフォルトになったので、ファイル名とタ
イムスタンプの復元を強制的に行なう -N オプションをつけることをオススメします。
-S オプションと同様に、環境変数 GZIP にセットしておくと良いと思います。


2      シンボリックリンクドライバ(沖@沖氏作)

  元々使っていない人は、特に関係ありません。しかし、インストールの項でも述べ
たように、これを使うと、同じ gzip.x を gunzip.x と zcat.x という名前でコピー
しなくてもよくなるし、ディスクの使用量が節約できます。
  また、リンクファイルを圧縮しようとした場合、実体が圧縮されるのではなく、無
視される(何もしない)ことに注意しましょう。(普通はこの方が便利なはずですが)


★本家非サポートオプション(X680x0 版・MS-DOS 版共通)★

・−sオプション

  -r オプションと併用した時に、.gz ファイル中に「サブディレクトリ名つきのファ
イル名」セーブします。このオプションを使用した .gz ファイルに対して、-x オプ
ションと -w オプション(ともに後述)を併用すると、「ディレクトリ作成展開」が
できます。
  -r オプションと併用しない場合には、圧縮したいファイル名をフルパスで指定し
ておくと、ドライブ名を除くフルパスファイル名が .gz ファイル中に保存されます。
同様に -x, -w でディレクトリ作成展開ができます。

・−xオプション

  これは、複数ファイルがひとつにまとまった .gz ファイルから元どおり、バラバ
ラにファイルを展開するためのオプションです。複数ファイルがひとつにまとまった
.gz ファイルというのは、

C:\>gzip -c *.doc > docfile.gz     とか、
C:\>gzip -c test.c test.h test.x test.doc > test.gz

あるいは、後述の -F オプションを利用して、

C:\>gzip -F docfile.gz *.doc        とか、
C:\>gzip -F test.gz test.c test.h test.x test.doc

  このような感じで作ります。このとき、ディレクトリ情報も必要ならば -s オプショ
ンをつけて、.gz ファイル内にファイル名をディレクトリ名付きで保存して下さい。

  このようにして作った .gz ファイルを -d オプションのみで展開すると、 *.doc
が連結されて1つになったファイル docfile として展開されてしまいます(2番目
の例なら、 test.c, test.h, test.x, test.doc の順でつながった1つのファイル
test ができる)。しかし、 -x オプションで展開することによって、1つ1つの
*.doc が生成されます。具体的には、

C:\>gzip -x docfile.gz

として下さい( -v オプションは好みに応じて)。-x オプションが -d オプション
を含んでいるので、-d は必要ありません。

  -x オプションで展開した時に限り、元の .gz ファイルは削除されません。(-d 
オプションで復元した時には、元の .gz ファイルは削除されてしまいます。)

また、プログラムの都合上、

C:\>gzip -x < docfile.gz

はできませんので、注意して下さい(展開結果が標準出力に出てしまうので、やって
も意味がない)。

・−wオプション

   .gz ファイル中に保存されているファイル名が「ディレクトリ付き」であった場
 合(すなわち、-r, -s オプションを使用して作成した .gz ファイル)に、 -x オ
 プションによる展開時に本オプションを併用することによって、ディレクトリを作
 成しながらファイルを展開することができます。
  -r, -s オプションを使用して作成した .gz ファイルであっても、本オプションを
使用しないと、すべてカレントディレクトリに展開されます(ディレクトリ情報は無
視されます)。
  .gz ファイル作成時には、本オプションは意味がありません。

・−Fオプション

  従来、複数ファイルの圧縮は -c オプションを使ってリダイレクトして作るもので
したが(例:gzip -c *.doc > docfiles.gz)、この方法には1つ弱点がありました。

C:\>gzip -c *.* > test.gz

  などとすると、作成中の test.gz が作業対象ファイルと見なされ、作成途中の
test.gz が圧縮されて、さらに test.gz にリダイレクトされるという大変困った現
象です。このため、「リダイレクト先は圧縮対象ファイルとは異なったパスにする」
必要があったわけです。

  しかし、-F オプションを使えば、そのような心配はもう要りません。

C:\>gzip -F test.gz *.*

  のように使います。 -F オプションの直後に、出力する .gz ファイル名を指定し
ます。 -F オプションは -s オプションを含んでいないので、-r を使用する場合は、
-s オプションは(必要なら自分で)指定する必要があります。
  また、-F のあとに指定した .gz ファイル名が既に存在する場合には、ファイルの
最後に追加されます。
  しかし、本オプションは圧縮時の出力ファイルの指定に使用するものなので、展開
時に指定しても意味がありません。

・−Eオプション

  .gz ファイルを展開する時に、展開先のパス名を指定します。指定の仕方は -F オ
プションと同じです。展開先のパス名に、存在しないディレクトリ名が含まれている
場合には、可能であれば、自動的にディレクトリを作成してから展開作業に入ります。
もし、なんらかの理由で自動的にディレクトリを作成するのに失敗した場合には、カ
レントに展開されます。具体的には、

C:\>gzip -xwE a:\src\temp foo.gz

  のように使います。このとき、A ドライブにサブディレクトリである src や temp
が存在しない場合には、自動的に作られます。もし、foo.gz がディレクトリ名を含
むファイル名を保存している圧縮ファイルならば、a:\src\temp の下に、さらにディ
レクトリが作られて、展開されます。

  -s, -x, -w, -F, -r, -E オプションを使いこなすことによって、gzip を簡易アー
カイバとして使うことができるわけです(全圧縮と全解凍しかできませんが)。

「使用例」

圧縮の場合:gzip -1vF docfiles.gz *.doc
          :gzip -9vrsF src.gz c:\gzip107 (サブディレクトリも圧縮)

展開の場合:gzip -xv docfiles.gz
          :gzip -xvw srcfiles.gz         (ディレクトリ作成展開)
          :gzip -xvwE a:\temp texfiles.gz(展開先ディレクトリを指定)

  使用例からもわかるように、複数オプションを一度に指定する場合には、 -F, -E
オプションは1番最後である必要があります(直後にファイルを指定しなければなら
ないから)。

!!注意!!

  .gz ファイルのフォーマットの都合上、ファイルの属性は保存されません。展開さ
れた時には、自動的に(勝手に)普通のファイルの属性になります。すなわち、隠し
属性やシステム属性や読み出し専用属性等は消えてしまいます。これらの属性のつい
ているファイルを圧縮する場合には、その点に留意し、そのような属性が消えてしま
うことを承知の上で、注意して使って下さい。
  X680x0 の場合には、lndrv や execd などを使用している方も多いかと思われます
が、同様の理由で、リンク属性や実行属性も保存されませんのでご注意下さい。

この gzip はあくまで「簡易」アーカイバとしての機能しか持っていません。

・−tオプション

  このオプションは本家がもともとサポートしているもので、.gz ファイルの圧縮デー
タの整合性をテストするためのものなのですが、-x, -v オプションと組み合わせる
ことによって、.gz ファイルの内容表示に使うことができます。具体的には、

C:\>gzip -xvt test.gz

などとすると、

Listing of Gzipped File : test.gz

       Filename                Time Stamp         File Size
======================= ======================== ===========
<< dir >> bat/
CFORM_10.BAT            Sat Sep 15 01:54:42 1990         610
chbeep.bat              Fri Oct 02 23:03:42 1992         669
CLT.BAT                 Fri Jul 20 00:51:56 1990          44
        ・                      ・                      ・
        ・                      ・                      ・
        ・                      ・                      ・
ND.BAT                  Fri Dec 25 10:47:50 1992          80
AUTOPATH.BAT            Wed Oct 16 02:09:28 1991         218
======================= ======================== ===========
            57 file(s)  Tue Apr 13 01:10:36 1993       41214
                                 Compressed size       17509 (57.5%)

  のように表示されます。ただし、このときにも圧縮ファイルの整合性をチェックし
ているので、大きな .gz ファイルのリスト表示にはやや時間がかかります。

  本来、リスト表示は -l オプションというものが本家の方にあるのですが、-l オ
プションは .gz ファイル全体に対してしかリスト表示できないので、複数ファイル
が圧縮されている .gz ファイルに対して、その内容を個別には表示できません。し
たがって、1 つのファイルを圧縮した .gz ファイルならば -l を使い、複数ファイ
ルを圧縮した .gz の内容を確認したい場合には、-xvt を使うようにして、両者を使
い分けて下さい。


% .gz ファイル中にオリジナルファイル名が保存されていない場合の %
%  -x と -xvt の動作について                                   %

  .gz ファイル中には、元のファイル名がデフォルトで保存されますが、 -n
(--no-name) オプションをつけた場合等は、オリジナルファイル名の保存されていな
い .gz ファイルが出来ます。これを -x オプションで展開したり、-xvt でリスト表
示したりしたときの動作について、説明します。

  まず、-x による展開の場合。foo.tar.gz というファイルがあったとして、この中
には、foo.tar だけが保存されていたとします(もちろん、ファイル名は保存されて
いないものとします)。展開ファイル名は、

foo.tar.gz -> foo.tar

となります(ごく当たり前)。

  次に、test.gz というファイルがあったとして、それは以下のようにして作られた
ものだとします。やはり、.gz ファイル中にオリジナルファイル名を保存していませ
ん。

C:\>gzip -cnv abc.doc bcd.doc cde.doc def.doc > test.gz

  これを -x で展開すると、最初の1つ目(abc.doc)は、「test」というファイル
名で展開されます(test.gz -> test)。
  2つ目以降はどうなるか、ということですが、これはテンポラリファイル名を作る
ことによって、展開されます。具体的には、

bcd.doc は GZP00000.TMP というファイル名で、
cde.doc は GZP00001.TMP というファイル名で、
def.doc は GZP00002.TMP というファイル名で展開されます。

保存されているファイルの数が増えても同様です。

  また、このような test.gz を -xvt でリスト表示すると、1つ目が「test」で、
それ以降は「GZP00000.TMP」「GZP00001.TMP」「GZP00002 .TMP」として表示されま
す。この機能は、本家の gzip にオリジナルファイル名を強制的に保存させるオプショ
ンがなかった頃につけたもので、現在はデフォルトで .gz ファイルに元のファイル
名が保存されているので、それほど問題にはならないのかもしれません。

  なお、-n オプションをつけても、-F や -s オプションが指定されている場合には、
-n は無効になります(元のファイル名は保存されます)。

・−Xオプション

  -x オプションによる展開の際に、-X <ファイル名> と指定することで、展開する
ファイルを限定することができます。例えば、

C:\>gzip -xvX foo.doc test.gz

  とすると、test.gz 中の foo.doc だけが展開されます。とは言っても、 .gz ファ
イルのヘッダの都合上、内部的には foo.doc だけを展開しているのではなくて、 
foo.doc 以外は展開しても書き出さないようにしているだけです。したがって、全ファ
イルを展開するのと、同じだけの時間がかかります。よって、全ファイルを展開する
だけの空き容量がない場合などにしか使えません。時間的な優位性が殆どないからで
す(とは言っても全ファイルを展開すれば、ディスクへの書き込み時間はかかります
から、少しは時間的にも有利になりますが)。
  <ファイル名> で指定するファイル名は .gz ファイルに保存されているファイル名
です。圧縮ファイル中にディレクトリ名が保存されていたとしても、フルパスで指定
する必要はなく、ファイル名だけで構いません(ファイル名しか判定していないから
です。)。圧縮ファイル中に同じファイル名を持つファイルが他になければ、これで
展開できます。
  しかし、異なったディレクトリに同じファイル名のファイルが格納されている場合
に、不都合が生じることになります。このような場合には後述の -p オプションを使
います。
  なお、大文字小文字と¥と/は区別していないので、どちらで指定しても構いませ
ん。csh ライクなワイルドカードも使えます。

例>C:\>gzip -xvX g*p.d* test.gz

・−iオプション

  -X オプションは、指定ファイルだけを展開できるのですが、内部では全圧縮デー
タを展開しているので、あまり速度的には速くありません。また、-xvt(or -xvtN) 
による圧縮ファイルの内容表示の場合にも同じ事がいえます。本オプションをつける
と、全圧縮データを展開したりはせずに、圧縮データの先頭についているヘッダだけ
をサーチしながら目的のファイル名を探して、展開/リスト表示を行ないます。速度
はかなり速くなります。しかし、gzip のデータフォーマットの都合上、圧縮データ
の中に、ヘッダと全く同じバイト列が現れることがあります。その場合、ヘッダサー
チルーチンは、そのバイト列をヘッダと勘違いしてしまい、その後の処理がうまく行
かなくなります。これを完全に防ぐのは不可能なので、もし、そのような圧縮ファイ
ルがあったら運が悪かったと諦めて、本オプションなしで作業して下さい(遅くなり
ますが)。

・−pオプション

  -X オプションによる展開ファイル名指定の際に、ファイル名の比較をフルパスで
行います。圧縮ファイル中にファイル名がディレクトリ名つきで保存されている場合、
本オプションが指定されていなければ、ファイル名のみの指定で展開できます。例え
ば、圧縮ファイル `test.gz' 中に `dir1/dir2/dir3/foo.bar' と保存されていたと
しても、 `gzip -xvX foo.bar test.gz'で展開できます。しかし、異なったディレク
トリに同じファイル名を持つファイルが保存されている場合には、片方だけを展開す
ることができません。そのような場合には、本オプションを指定して、展開ファイル
名指定をフルパスで行います。例えば、`gzip -xvpX dir1/dir2/dir3/foo.bar 
test.gz' とすれば、他のディレクトリにある `foo.bar' は展開されず、
`dir1/dir2/dir3/foo.bar' だけが展開されることになります。


★インダイレクトファイルについて(X680x0 版・MS-DOS 版共通)★

  インダイレクトファイルが使えます。インダイレクトファイルとは、コマンド行か
ら指定する引数を、あらかじめファイルに書いておいて、それを読み込ませるという
ものです。読み込ませるときには、インダイレクトファイル名の頭に「@」をつけて、
コマンド行で指定します。例えば、

------------------------------------------ foo.ind の中身 ------
-1vsrF
test.gz
aaa.doc
bbb.doc
ccc.doc
ddd.doc
----------------------------------------------------------------

このようなときに、

C:\>gzip @foo.ind  とすると、
C:\>gzip -1vsrF test.gz aaa.doc bbb.doc ccc.doc ddd.doc と指定するのと、同じ
になります。


★MS-DOS 版に関して(本家配布オリジナル版との主な違い)★

  ・-r オプションが使える。
  ・X680x0 版でサポートされた -x, -s, -w, -F, -E, -X がすべて使える。
  ・ファイル名に漢字が入っていても問題ない。
    (本家の MS-DOS 版は、.gz ファイルに壊れたファイル名が保存されてしまう。)
  ・環境変数 LANG に Japanese をセットすると、メッセージが日本語になる
    (X680x0 版と同じ)。
  ・X680x0 版で作成した .gz ファイルなどに、MS-DOS で使えない文字を含んだファ
    イル名が保存されている場合には、その文字が "_" に置き換えられて、展開さ
    れる。
  ・ワイルドカードの展開が cshwild ライクになった。

簡単に言うと、X680x0 版にできるだけ準拠したということです。


★より高圧縮をめざす人のために(X680x0 版・MS-DOS 版共通)★

  Cのヘッダファイルや同一ネットのログなどのような、同じ言葉やキーワードが何
度も出てくる複数のファイルを圧縮する場合には、1つ1つを圧縮してからつなげる
よりも、最初に1つのファイルにまとめておいてから圧縮した方が、サイズが小さく
なります。これは、 LHa などでも使われているテクニックで、はじめに非圧縮で1
つのファイルにまとめておいてから、それをあらためて圧縮しようというものです。
gzip には非圧縮オプションがありませんので、別のプログラムで前もって、1つに
まとめる必要があります。具体的には、

・LHa の非圧縮オプション
・tar
・pack.x (自己解凍型非圧縮アーカイバ)(X680x0 の場合のみ)

などが使えるでしょう。(もっとも、tar + gzip が本来の使い方なのですが)

したがって、

C:\>gzip -9vF logfiles.gz *.log

よりも

C:\>tar cvf logfiles.tar *.log
C:\>gzip -9v logfiles.tar
    
あるいは

C:\>lha a -z1 logfiles.lzh *.log
C:\>gzip -9v logfiles.lzh

の方が .gz ファイルが小さくなる(場合が多い)ということです。


★開発マシン★


        X68000PRO(無改造 メモリ8M) + 100MB-SCSI + 40MB-SASI + 3.5MO


        PC9801RA2(無改造 メモリ2M) + 200MB-SCSI


★動作確認環境★


        X68000PRO(無改造 メモリ8M) + Human68K ver3.01


        PC9801RA2(無改造 メモリ2M) + MS-DOS ver3.30D

  ハードウェアや OS の低レベルなコールに密接に依存したプログラムではないので、
これ以外の環境下でも、大概の場合は動作するものと思われます。(さすがに
Human68K ver1.xx や MS-DOS ver2.xx での動作は自信がありませんが) Human68K
ver2.02 では動作しているとの報告を受けています。 また、「IBM-PC」などをはじ
めとする、「PC-9801 シリーズおよびその互換機(EPSON)」以外のマシン上での
MS-DOS では、動作しないものもあるとの報告を受けておりますので、ご注意下さい。


★移植に使用したツール及び作成者★


   Gcc version 1.28 Tool#2      FSF / まりこ氏
   HAS Ver3.09                  YuNK氏
   HLK Ver3.01                  そると氏
   Gnu Make Ver 3.62(X6_12)     FSF / homy氏
   fish 0.8.1 & HITBOX          板垣史彦氏
   KSH v4.8 (X6_25)             homy氏
   Twentyone Ver 1.36a          Ext氏
   lndrv Ver1.26                沖@沖氏
   μEMACS 3.10 J1.43 (rel.4p5) icam/homy/lika/SALT/PEACE/SHUNA/rima 各氏
   X680x0 libc 1.1.32A          Project LIBC Group
   libgnu.a                     oo氏/Ohtsuki氏
   LHA Version 2.13 Rel.47      ともちゃん氏(岡田 紀雄氏)/吉崎 栄泰氏
   LZX.X Ver. 0.43.4h Beta      F&I氏
   bdif v1.1 rel.7              K.Higashide氏
   bup  v1.1 rel.12             K.Higashide氏
   その他多くのツール           その他多くの作者の方々


   Borland C++ Version 2.0      Borland International
   MAKE Version 3.6             Borland International
   MicroEmacs 3.10J3
   wild.c, wild.h               Yasushi Saito氏, TAIST
   setarg.c, setarg.h           Yasushi Saito氏, TAIST
   その他多くのツール           その他多くの作者の方々


★無保証★

  本アーカイブ内に含まれているファイルは、正しく動作することを望んで作られて
いますが、その動作に関しては全て無保証です。
  このファイルを使用して、もしくは使用できなかったために発生したいかなる損害
についても、たとえ、その原因がこれにあったとしても、移植者、ならびに配布者は
関知いたしません。
  特にバージョン(1.0.5 X6_03)以降でバージョンアップの度に追加・サポートされ
てきた、本家がサポートしていない拡張オプション -x, -w, -F, -E に関しては、そ
れまでの GNU オリジナルソースからの変更に比べて、かなり大掛かりなソースの書
き換えをしているので、動作の確実性が低くなることは避けられません。細心の注意
を払って使用して下さい。
  このファイルは、使用者の責任において使用して下さい。
  ただし、不都合が発見された場合、移植者まで報告いただければ、可能な限り対応
したいと思います。


★配布に関して★

  もともとGNUの産物ですので、GPL(GNU Public License)に準拠した配布を
認めます。また、X680x0への移植に際して生じた追加、変更の大部分、また本家オリ
ジナルがサポートしていない固有の付加機能(X680x0 版・MS-DOS 版共通)に関する
部分は、私 ArctanX こと田辺英昭が著作権を保持します。また、ドキュメントの日
本語訳も、すべて私 ArctanX こと田辺英昭が著作権を保持します。


★謝辞★

  gzip(Ver 0.8.2) を移植して、オリジナルソースの差分を公開して下さったわかと
の氏には、たいへん感謝しております。最近のバージョンでは、わかとの氏オリジナ
ルのソースコードはまったく使用していませんが、移植を始めたばかりの頃は、わか
との氏の移植ノウハウを随分勉強させていただきました。ドキュメントファイルの書
式も、わかとの氏のドキュメントをベースにさせていただきました。
  さらに、Mick'n氏にも、いろいろな助言をいただきました。
  Bun.氏には、圧縮部分のアセンブラ化(X680x0 版)に関して大変お世話になりま
した。
  また、ガンマ氏には、X680x0 版、MS-DOS 版両方とも、実際に使い込んで戴いて、
詳しいバグレポートを戴きました。大変感謝しております。
  Mailing List x6chat(旧 gzip-x68k)の皆様方にも、いろいろお世話になっていま
す。特に山本啓介さんには、X68030 専用バージョンの make をして戴きました。
  また、上記の数々の使いやすいツールを提供して下さった作者、移植者の皆様にも
感謝致します。これらは、開発環境を大いに向上させてくれました。
  そして、本ソフトを使って下さっている皆様に最大級の感謝を捧げます。


★お詫び★

  アーカイブの容量の増加を防ぐことと、利用者全員が必要としているわけではない
との判断から、ソースファイル(あるいは、オリジナルからの差分ファイル)をアー
カイブに含めるのを見送りました。しかし、ソースの公開を拒んでいるわけではあり
ませんので、もし、ソースファイルを必要とする方がおられましたら、私のところま
でメール等でご連絡いただければ、X680x0 / MS-DOS 版のソースを送ります。


ご意見、ご感想、バグレポート、待ってます。

1995/01/15


        ALTA Net           ALTA1565
        Bug-House BBS      BUG0064                   \    \/
        Cecile BBS         CEL0322    Arctan /  \UTMC
        Inside BBS         INSD0053                 ̄ ̄   ̄ ̄
        Palmtown Network   PALM0466   田辺 英昭 (Hideaki TANABE)
        Mapletown Network  MAP2492
        Network-SCoT       SCOT0032
        Nifty Serve        KFA05024@niftyserve.or.jp

(e.o.f)

★gzipのページに戻る


arctanx@hauN.org