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.
|
---|