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