| 1 | This is the file README for the gzip distribution. | 
|---|
| 2 |  | 
|---|
| 3 | gzip (GNU zip) is a compression utility designed to be a replacement | 
|---|
| 4 | for 'compress'. Its main advantages over compress are much better | 
|---|
| 5 | compression and freedom from patented algorithms.  The GNU Project | 
|---|
| 6 | uses it as the standard compression program for its system. | 
|---|
| 7 |  | 
|---|
| 8 | gzip currently uses by default the LZ77 algorithm used in zip 1.9 (the | 
|---|
| 9 | portable pkzip compatible archiver). The gzip format was however | 
|---|
| 10 | designed to accommodate several compression algorithms. See below | 
|---|
| 11 | for a comparison of zip and gzip. | 
|---|
| 12 |  | 
|---|
| 13 | gunzip can currently decompress files created by gzip, compress or | 
|---|
| 14 | pack. The detection of the input format is automatic.  For the | 
|---|
| 15 | gzip format, gunzip checks a 32 bit CRC. For pack, gunzip checks the | 
|---|
| 16 | uncompressed length.  The 'compress' format was not designed to allow | 
|---|
| 17 | consistency checks. However gunzip is sometimes able to detect a bad | 
|---|
| 18 | .Z file because there is some redundancy in the .Z compression format. | 
|---|
| 19 | If you get an error when uncompressing a .Z file, do not assume that | 
|---|
| 20 | the .Z file is correct simply because the standard uncompress does not | 
|---|
| 21 | complain.  This generally means that the standard uncompress does not | 
|---|
| 22 | check its input, and happily generates garbage output. | 
|---|
| 23 |  | 
|---|
| 24 | gzip produces files with a .gz extension. Previous versions of gzip | 
|---|
| 25 | used the .z extension, which was already used by the 'pack' | 
|---|
| 26 | Huffman encoder. gunzip is able to decompress .z files (packed | 
|---|
| 27 | or gzip'ed). | 
|---|
| 28 |  | 
|---|
| 29 | Several planned features are not yet supported (see the file TODO). | 
|---|
| 30 | See the file NEWS for a summary of changes since 0.5.  See the file | 
|---|
| 31 | INSTALL for installation instructions. Some answers to frequently | 
|---|
| 32 | asked questions are given in the file INSTALL, please read it. (In | 
|---|
| 33 | particular, please don't ask me once more for an /etc/magic entry.) | 
|---|
| 34 |  | 
|---|
| 35 | WARNING: on several systems, compiler bugs cause gzip to fail, in | 
|---|
| 36 | particular when optimization options are on.  See the section "Special | 
|---|
| 37 | targets" at the end of the INSTALL file for a list of known problems. | 
|---|
| 38 | For all machines, use "make check" to check that gzip was compiled | 
|---|
| 39 | correctly.  Try compiling gzip without any optimization if you have a | 
|---|
| 40 | problem. | 
|---|
| 41 |  | 
|---|
| 42 | Please send all comments and bug reports by electronic mail to | 
|---|
| 43 | <bug-gzip@gnu.org>. | 
|---|
| 44 |  | 
|---|
| 45 | Bug reports should ideally include: | 
|---|
| 46 |  | 
|---|
| 47 | * The complete output of "gzip -V" (or the contents of revision.h | 
|---|
| 48 | if you can't get gzip to compile) | 
|---|
| 49 | * The hardware and operating system (try "uname -a") | 
|---|
| 50 | * The compiler used to compile (if it is gcc, use "gcc -v") | 
|---|
| 51 | * A description of the bug behavior | 
|---|
| 52 | * The input to gzip, that triggered the bug | 
|---|
| 53 |  | 
|---|
| 54 | If you send me patches for machines I don't have access to, please test them | 
|---|
| 55 | very carefully. gzip is used for backups, it must be extremely reliable. | 
|---|
| 56 |  | 
|---|
| 57 | GNU tar 1.11.2 has a -z option to invoke directly gzip, so you don't have to | 
|---|
| 58 | patch it. The package ftp.uu.net:/languages/emacs-lisp/misc/jka-compr19.el.Z | 
|---|
| 59 | also supports gzip'ed files. | 
|---|
| 60 |  | 
|---|
| 61 | The znew and gzexe shell scripts provided with gzip benefit from | 
|---|
| 62 | (but do not require) the cpmod utility to transfer file attributes. | 
|---|
| 63 | It is available in | 
|---|
| 64 | ftp://gatekeeper.dec.com/pub/usenet/comp.sources.unix/volume11/cpmod.Z. | 
|---|
| 65 |  | 
|---|
| 66 | The sample programs zread.c, sub.c and add.c in subdirectory sample | 
|---|
| 67 | are provided as examples of useful complements to gzip. Read the | 
|---|
| 68 | comments inside each source file.  The perl script ztouch is also | 
|---|
| 69 | provided as example (not installed by default since it relies on perl). | 
|---|
| 70 |  | 
|---|
| 71 |  | 
|---|
| 72 | gzip is free software, you can redistribute it and/or modify it under | 
|---|
| 73 | the terms of the GNU General Public License, a copy of which is | 
|---|
| 74 | provided under the name COPYING. The latest version of gzip are always | 
|---|
| 75 | available from ftp://ftp.gnu.org/gnu/gzip or in any of the gnu | 
|---|
| 76 | mirror sites. | 
|---|
| 77 |  | 
|---|
| 78 | - sources in gzip-*.tar (or .shar or .tar.gz). | 
|---|
| 79 | - MSDOS lha self-extracting exe in gzip-msdos-*.exe. Once extracted, | 
|---|
| 80 | copy gzip.exe to gunzip.exe and zcat.exe, or use "gzip -d" to decompress. | 
|---|
| 81 | gzip386.exe runs much faster but only on 386 and above; it was compiled with | 
|---|
| 82 | djgpp 1.10 available in directory omnigate.clarkson.edu:/pub/msdos/djgpp. | 
|---|
| 83 |  | 
|---|
| 84 | A VMS executable is in ftp://ftp.spc.edu/[.macro32.savesets]gzip-1-*.zip | 
|---|
| 85 | (use [.macro32]unzip.exe to extract). A PRIMOS executable is available | 
|---|
| 86 | in ftp://ftp.lysator.liu.se/pub/primos/run/gzip.run. | 
|---|
| 87 |  | 
|---|
| 88 | Some ftp servers can automatically make a tar.Z from a tar file. If | 
|---|
| 89 | you are getting gzip for the first time, you can ask for a tar.Z file | 
|---|
| 90 | instead of the much larger tar file. | 
|---|
| 91 |  | 
|---|
| 92 | Many thanks to those who provided me with bug reports and feedback. | 
|---|
| 93 | See the files THANKS and ChangeLog for more details. | 
|---|
| 94 |  | 
|---|
| 95 |  | 
|---|
| 96 | Note about zip vs. gzip: | 
|---|
| 97 |  | 
|---|
| 98 | The name 'gzip' was a very unfortunate choice, because zip and gzip | 
|---|
| 99 | are two really different programs, although the actual compression and | 
|---|
| 100 | decompression sources were written by the same persons. A different | 
|---|
| 101 | name should have been used for gzip, but it is too late to change now. | 
|---|
| 102 |  | 
|---|
| 103 | zip is an archiver: it compresses several files into a single archive | 
|---|
| 104 | file. gzip is a simple compressor: each file is compressed separately. | 
|---|
| 105 | Both share the same compression and decompression code for the | 
|---|
| 106 | 'deflate' method.  unzip can also decompress old zip archives | 
|---|
| 107 | (implode, shrink and reduce methods). gunzip can also decompress files | 
|---|
| 108 | created by compress and pack. zip 1.9 and gzip do not support | 
|---|
| 109 | compression methods other than deflation. (zip 1.0 supports shrink and | 
|---|
| 110 | implode). Better compression methods may be added in future versions | 
|---|
| 111 | of gzip. zip will always stick to absolute compatibility with pkzip, | 
|---|
| 112 | it is thus constrained by PKWare, which is a commercial company.  The | 
|---|
| 113 | gzip header format is deliberately different from that of pkzip to | 
|---|
| 114 | avoid such a constraint. | 
|---|
| 115 |  | 
|---|
| 116 | On Unix, gzip is mostly useful in combination with tar. GNU tar | 
|---|
| 117 | 1.11.2 and later has a -z option to invoke gzip automatically.  "tar -z" | 
|---|
| 118 | compresses better than zip, since gzip can then take advantage of | 
|---|
| 119 | redundancy between distinct files. The drawback is that you must | 
|---|
| 120 | scan the whole tar.gz file in order to extract a single file near | 
|---|
| 121 | the end; unzip can directly seek to the end of the zip file. There | 
|---|
| 122 | is no overhead when you extract the whole archive anyway. | 
|---|
| 123 | If a member of a .zip archive is damaged, other files can still | 
|---|
| 124 | be recovered. If a .tar.gz file is damaged, files beyond the failure | 
|---|
| 125 | point cannot be recovered. (Future versions of gzip will have | 
|---|
| 126 | error recovery features.) | 
|---|
| 127 |  | 
|---|
| 128 | gzip and gunzip are distributed as a single program. zip and unzip | 
|---|
| 129 | are, for historical reasons, two separate programs, although the | 
|---|
| 130 | authors of these two programs work closely together in the info-zip | 
|---|
| 131 | team. zip and unzip are not associated with the GNU project. | 
|---|
| 132 | See http://www.cdrom.com/pub/infozip/ for more about zip and unzip. | 
|---|
| 133 |  | 
|---|
| 134 |  | 
|---|
| 135 | ======================================================================== | 
|---|
| 136 |  | 
|---|
| 137 | Copyright (C) 1999, 2001, 2002, 2006 Free Software Foundation, Inc. | 
|---|
| 138 | Copyright (C) 1992, 1993 Jean-loup Gailly | 
|---|
| 139 |  | 
|---|
| 140 | Permission is granted to copy, distribute and/or modify this document | 
|---|
| 141 | under the terms of the GNU Free Documentation License, Version 1.2 or | 
|---|
| 142 | any later version published by the Free Software Foundation; with no | 
|---|
| 143 | Invariant Sections, with no Front-Cover Texts, and with no Back-Cover | 
|---|
| 144 | Texts.  A copy of the license is included in the ``GNU Free | 
|---|
| 145 | Documentation License'' file as part of this distribution. | 
|---|