Node:Top, Up:(dir)


Node:複製, Next:, Up:Top

GNU GENERAL PUBLIC LICENSE

Version 2, June 1991

Copyright © 1989, 1991 Free Software Foundation, Inc.
675 Mass Ave, Cambridge, MA 02139, USA

Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.

Preamble

The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too.

When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.

To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.

For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.

We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.

Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.

Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.

The precise terms and conditions for copying, distribution and modification follow.

  1. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".

    Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.

  2. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.

    You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.

  3. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
    1. You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
    2. You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
    3. If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)

    These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.

    Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.

    In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.

  4. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
    1. Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
    2. Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
    3. Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)

    The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.

    If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.

  5. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
  6. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.
  7. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
  8. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.

    If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.

    It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.

    This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.

  9. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
  10. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.

    Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.

  11. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
  12. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
  13. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

How to Apply These Terms to Your New Programs

If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.

To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.

one line to give the program's name and an idea of what it does.
Copyright (C) 19yy  name of author

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

Also add information on how to contact you by electronic and paper mail.

If the program is interactive, make it output a short notice like this when it starts in an interactive mode:

Gnomovision version 69, Copyright (C) 19yy name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details
type `show w'.  This is free software, and you are welcome
to redistribute it under certain conditions; type `show c'
for details.

The hypothetical commands show w and show c should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than show w and show c; they could even be mouse-clicks or menu items--whatever suits your program.

You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names:

Yoyodyne, Inc., hereby disclaims all copyright
interest in the program `Gnomovision'
(which makes passes at compilers) written
by James Hacker.

signature of Ty Coon, 1 April 1989
Ty Coon, President of Vice

This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License.


Node:概観, Next:, Previous:複製, Up:Top

概観

gzip は Lempel-Ziv コーディング (LZ77) を使って指名されたファイル の大きさを減らします。可能であれば、各ファイルは、所有モードやアクセス時 刻、修正時刻を同じに保ったまま、.gz という拡張子を付けたもので置 き換えられます。(デフォルトの拡張子は VMS では -gz で、MSDOS や OS/2 FAT、Atari では z です。) もし何もファイルが指定されなかった り、ファイル名が "-" だったりすると、標準入力が圧縮されて標準出力に出さ れます。gzip は通常のファイルを圧縮しようとするだけでしょう。とり わけ、シンボリック・リンクは無視するでしょう。

もし新しいファイル名がそのファイルシステムには長過ぎるなら、gzip はそれを切り捨てます。gzip はファイル名のうち3文字よりも長い部分 だけを切り捨てようとします。(部分はドットで区切られています。) もしその 名前が小さい部分だけから成り立っていたら、一番長い部分が切り捨てられます。 例えば、ファイル名が14文字に限定されていたら、gzip.msdos.exe は gzi.msd.exe.gz に圧縮されます。名前はファイル名の長さに限界のないシステ ムでは切り捨てられません。

デフォルトで、gzip は元のファイル名やタイムスタンプを圧縮されたファ イルに保存します。これらは -N オプションを付けて、そのファイルを 解凍するときに使われます。これは圧縮されたファイルの名前が切り捨てられい たり、そのタイムスタンプがファイルの転送後に保存されなかったときに有効で す。

圧縮されたファイルは、gzip -dgunzipzcat を 使って、元の姿に戻すことができます。もし圧縮されたファイルに収められてい た元の名前が、そのファイルシステムには適していなかった場合、適合させるた めに、その元の名前から新しい名前が組み立てられます。

gunzip はそのコマンド行でファイルのリストを受け取り、.gz.z.Z-gz-z_z で終わる名前を 持ち、正しいマジックナンバーで始まる各ファイルを、その元の拡張子を持たな い、解凍されたファイルで置き換えます。gunzip はまた、特別な拡張子、 .tgz.taz をそれぞれ .tar.gz.tar.Z の 略記であると認識します。圧縮するとき、gzip.tar 拡張子 を持つファイルを切り捨てる代わりに、もし必要であれば、 .tgz 拡張 子を使用します。

gunzip は現在 gzipzipcompress、 あるいは、pack で作られたファイルを解凍することができます。入力形 式の検出は自動的です。最初の二つの形式を使っているとき、gunzip は 32ビット CRC (cyclic redundancy check) を確認します。pack に対し ては、gunzip は圧縮されていないときの長さを確認します。 compress 形式は一貫性を確認できるようには設計されませんでした。し かし、gunzip はときどき悪い .Z ファイルを検出することがで きます。もし .Z ファイルを解凍しているときにエラーを受け取ったな ら、標準的な uncompress が文句を言わないからといって、その .Z ファイルが正しいと思ってはいけません。このことは一般的に、標準 的な uncompress はその入力を確認せず、幸福そうにゴミの出力を生成 してくれることを意味しています。SCO の compress-H 形式 (lzh 圧縮手法) は CRC を含んでいませんが、いくつかの一貫性の確認 をできるようにしています。

zip で作成されたファイルは gzip で解凍できますが、' deflation' 手法で圧縮された、単一の要素しかない場合だけです。この特徴は tar.zip ファイルを tar.gz 形式に変換するのを助けることだけ を目的にします。いくつかの要素を持つ zip ファイルを抜き出すには、 gunzip ではなく unzip を使ってください。

zcatgunzip -c と同じです。zcat はコマンド行のファ イルのリストか標準入力を解凍して、解凍されたデータを標準出力に書き出しま す。zcat.gz 接尾辞とは無関係に、正しいマジックナンバー を持つファイルを解凍するでしょう。

gzipzip や PKZIP で使われている Lempel-Ziv アルゴリズ ムを利用します。得られる圧縮量は入力の大きさやありふれた部分文字列の分布 に依存しています。典型的には、ソース・コードや英語のようなテキストは 60 から 70% 減少します。一般的に、LZW (compress で使われている) や、 Huffman コーディング (pack で使われている)、adaptive Huffman コー ディング (compact) で達成されるよりも、ずっと良い圧縮です。

たとえ圧縮されたファイルが若干元よりも大きくなっても、圧縮は常に行われま す。最悪の場合の膨張は、gzip のファイル・ヘッダに対して数バイトと、 各 32K ブロック毎に 5 バイト、あるいは、大きなファイルでは 0.015% の膨張 率です。実際に使われるディスク・ブロックの数はほとんど絶対に増えないこと に注意してください。gzip は圧縮したり解凍したりするとき、ファイル のモードや所有権、タイムスタンプを保存します。


Node:見本, Next:, Previous:概観, Up:Top

出力の見本

さて、これが gzip を実行する現実的な例です。

これは gzip -h というコマンドの出力です:

gzip 1.2.4 (18 Aug 93)
usage: gzip [-cdfhlLnNrtvV19] [-S suffix] [file ...]
 -c --stdout      write on standard output, keep original files unchanged
 -d --decompress  decompress
 -f --force       force overwrite of output file and compress links
 -h --help        give this help
 -l --list        list compressed file contents
 -L --license     display software license
 -n --no-name     do not save or restore the original name and time stamp
 -N --name        save or restore the original name and time stamp
 -q --quiet       suppress all warnings
 -r --recursive   operate recursively on directories
 -S .suf  --suffix .suf     use suffix .suf on compressed files
 -t --test        test compressed file integrity
 -v --verbose     verbose mode
 -V --version     display version number
 -1 --fast        compress faster
 -9 --best        compress better
 file...          files to (de)compress. If none given, use standard input.

これは gzip -v texinfo.tex というコマンドの出力です:

texinfo.tex:             71.6% -- replaced with texinfo.tex.gz

次のコマンドは現在のディレクトリやサブディレクトリにおいて、あらゆる gzip ファイルを検索し、元のファイルを壊さずに適切に展開します:

find . -name '*.gz' -print | sed 's/^\(.*\)[.]gz$/gunzip < "&" > "\1"/' | sh


Node:gzipの起動, Next:, Previous:見本, Up:Top

gzip の起動

gzip プログラムを実行するための形式はこうです。

gzip オプション ...

gzip は以下のオプションをサポートしています:

--stdout
--to-stdout
-c
出力は標準出力に書きます。元のファイルを変えないでおきます。もしいくつも の入力ファイルがあったら、その出力は独立に圧縮された部分のひと続きになり ます。より良く圧縮するためには、全ての入力ファイルを圧縮する前に連結して ください。
--decompress
--uncompress
-d
解凍します。
--force
-f
そのファイルが複数のリンクを持っていたり、対応するファイルがすでに存在し ていたり、あるいは、圧縮されたデータが端末から読まれたり書かれたりしても、 強制的に圧縮や解凍を行います。もしその入力データが gzip で認識さ れる形式でなくて、オプション -stdout も与えられていたなら、その入力デー タを変更せずに標準出力に写します。zcatcat のように振る 舞います。もし -f が与えられなくて、バックグラウンドで実行されて いないときなら、gzip は存在するファイルを上書きして良いかどうかを 確認するために、プロンプトを出します。
--help
-h
オプションを記述した有益なヘルプ・メッセージを表示して終了します。
--list
-l
各圧縮されたファイルに対して、以下のフィールドを列挙します:
compressed size: 圧縮されたファイルの大きさ
uncompressed size: 解凍されたファイルの大きさ
ratio: 圧縮率 (もし分からなかったら、0.0%)
uncompressed_name: 解凍されたファイルの名前

解凍された大きさは、圧縮された .Z ファイルのような、gzip 形式以外のファイルでは -1 となります。そのようなファイルに対して 解凍された大きさを得るのには、こうします:

zcat file.Z | wc -c

-verbose オプションと組み合わせると、以下のフィールドもまた表示されます:

method: 圧縮の手法 (deflate、compress、lzh、pack)
crc: 解凍されたデータの 32ビット CRC
date と time: 解凍されたファイルのタイムスタンプ

その crc は gzip 形式でないファイルでは ffffffff となります。

-verbose を付けると、いくかの大きさが不明でなければ、大きさの合計やあら ゆるファイルに対する圧縮率も表示されます。-quiet を付けると、タイトルや 合計の行は表示されません。

--license
-L
gzip のライセンスを表示して終了。
--no-name
-n
圧縮するとき、元のファイル名とタイムスタンプをデフォルトで保存しません。 (元の名前は切り捨てられなければならなかったなら必ず保存されます。) 解凍 するとき、元のファイル名を復元せず (gzip の接尾辞だけを圧縮された ファイル名から取り除きます)、元のタイムスタンプを復元しません (圧縮され たファイルからそれを写し取ります)。このオプションは解凍のときはデフォル トです。
--name
-N
圧縮するとき、常に元のファイル名とタイムスタンプを保存します。これがデフォ ルトです。解凍するとき、もしあれば元のファイル名とタイムスタンプを復元し ます。このオプションはファイル名の長さに限界のあるシステムやファイルの転 送の後にタイムスタンプが失われてしまったときに有用です。
--quiet
-q
全ての警告メッセージを抑制します。
--recursive
-r
再帰的にディレクトリ構造を移動して回ります。もしコマンド行で指定されたファ イル名のいずれかがディレクトリだったら、gzip はそのディレクトリに 降りて、そこで見付けるファイルを全て圧縮します (あるいは、gunzip の場合には解凍します)。
--suffix suf
-S suf
.gz ではなく、接尾辞 suf を使います。どんな接尾辞で も与えられますが、ファイルが他のシステムに転送されるときの混乱を避けるた めに、.z.gz 以外の接尾辞は敬遠するべきです。空の接尾辞 は強制的に gunzip に接尾辞にかかわりなく、あらゆる与えられたファイルに解 凍を試みさせます、このように:
gunzip -S "" *        (MSDOS には *.*)

gzip の以前のバージョンは .z 接尾辞を使用しました。pack と の衝突を避けるため、これは変更されました。

--test
-t
試験。圧縮されたファイルの完全性を確認します。
--verbose
-v
多弁。各圧縮されるファイルに対して、その名前と百分率での減少を表示します。
--version
-V
バージョン。そのバージョン番号とコンパイル時のオプションを表示して、終了。
--fast
--best
-n
指定された整数 n を使って圧縮の速度を調整し、そこでは -1--fast は最速の圧縮手法 (あまり圧縮されない) を示し、 --best-9 は最も遅い圧縮手法 (最適な圧縮) を示します。 デフォルトの圧縮レベルは -6 です (すなわち、速度の犠牲により高度 に圧縮される傾向があります)。


Node:高度な使い方, Next:, Previous:gzipの起動, Up:Top

高度な使い方

複数の圧縮されたファイルは連結することができます。この場合、 gunzip は一度に全ての要素を抽出するでしょう。もし一つの要素が損傷 を受けたなら、損傷した要素を削除した後に他の要素をなお取り戻すことができ るかもしれません。通常全ての要素が解凍されてから一気に再圧縮すると、より 良い圧縮に達成できます。

これは gzip ファイルを連結する例です:

gzip -c file1  > foo.gz
gzip -c file2 >> foo.gz

そして

gunzip -c foo

は次に等しくなります。

cat file1 file2

.gz ファイルの一つの要素が損傷した場合、他の要素はなお取り戻すこ とができます (もし損傷を受けた要素が取り除かれれば)。しかしながら、一度 に全ての要素を圧縮することによって、より良い圧縮を得ることができます:

cat file1 file2 | gzip > foo.gz

はこれよりも良く圧縮します。

gzip -c file1 file2 > foo.gz

もしより良い圧縮を得るために、連結されたファイルを再圧縮したいなら、こう します:

zcat old.gz | gzip > new.gz

もし圧縮されたファイルがいくつもの要素から成り立っているなら、 --list オプションによって報告される、解凍された大きさと CRC は最 後の要素だけに適用されます。もしあらゆる要素に対して解凍された大きさが必 要なら、こうできます:

zcat file.gz | wc -c

もし要素を後で独立に抽出できるよう、複数の要素を持つ単一のアーカイブ・ファ イルを作成したいなら、tarzip のようなアーカイバを使っ てください。GNU targzip を透過的に起動するための、 -z オプションをサポートします。gziptar を補完を するように設計されたのであって、代用品ではありません。


Node:環境, Next:, Previous:高度な使い方, Up:Top

環境

環境変数 GZIPgzip のためのデフォルトのオプションの組を 保持できます。これらのオプションは最初に解釈され、明示的なコマンド行パラ メータによって上書きできます。例えば:

shに対して:    GZIP="-8v --name"; export GZIP
cshに対して:   setenv GZIP "-8v --name"
MSDOSに対して: set GZIP=-8v --name

Vax/VMS 上では、プログラムの起動のためのシンボル・セットとの衝突を避ける ために、環境変数の名前は GZIP_OPT です。


Node:テープ, Next:, Previous:環境, Up:Top

gzip をテープで使う

圧縮されたデータをテープに書き込むとき、大体ブロック境界までゼロで出力に 詰め物をする必要があります。データが読まれて、ブロック全体が解凍のために gunzip の渡されるとき、gunzip は圧縮されたデータの後に余計 なゴミがあることを検出し、デフォルトで警告を発します。その警告を抑制する には --quiet オプションを使わなければなりません。このオプションは GZIP 環境変数で設定できて、このようになります:

shに対して:    GZIP="-q"  tar -xfz --block-compress /dev/rst0
cshに対して:   (setenv GZIP "-q"; tar -xfz --block-compress /dev/rst0)

上記の例において、gzip は GNU tar-z オプション によって暗黙のうちに起動されています。同じブロックの大きさ (tar-b オプション) がテープ上で圧縮されたデータを読み書きするため に使われるよう確認してください。(この例は tar の GNU 版を使ってい ることを仮定しています。)


Node:問題, Next:, Previous:テープ, Up:Top

バグ報告

もし gzip のバグを見付けたら、どうか電子メールを jloup@chorus.fr か、もし失敗したら、 bug-gnu-utils@prep.ai.mit.edu へ送ってください。そのバージョ ン番号を含めてください、それは gzip -V を走らせれば分かります。 また、あなたのメッセージにハードウェアやオペレーティング・システム、 gzip をコンパイルするのに使ったコンパイラ、バグの挙動の説明、そし て、そのバグの引き金となる gzip への入力を含めてください。


Node:概念による索引, Previous:問題, Up:Top

概念による索引

Table of Contents