1
0
Fork 0
mirror of git://git.savannah.gnu.org/gzip.git synced 2025-12-05 22:28:35 +00:00
No description
Find a file
2025-09-11 12:53:06 -07:00
doc Ignore GZIP envvar except for innocuous flags 2025-02-19 22:38:17 -08:00
gnulib@875d0f9b03 build: update gnulib submodule to latest 2025-09-11 12:53:06 -07:00
lib gzip: use pclmul if available 2025-02-10 22:36:17 -08:00
m4 gzip: use pclmul if available 2025-02-10 22:36:17 -08:00
sample maint: fix typos spotted by codespell 2025-03-27 21:30:42 -07:00
tests gzip: report "-Inf%" for negative infinity 2025-09-09 11:35:17 -07:00
.gitignore maint: import tests/init.sh from Gnulib during bootstrap 2024-07-04 16:44:34 -07:00
.gitmodules maint: prefer https: to git: 2023-02-04 21:43:30 -08:00
.mailmap maint: add .mailmap 2012-06-17 22:22:33 +02:00
.prev-version maint: post-release administrivia 2025-04-09 20:48:10 -07:00
.x-update-copyright maint: add .x-update-copyright 2024-01-08 18:51:41 -08:00
algorithm.doc maint: prefer HTTPS to HTTP, FTP in URLs 2017-09-19 10:43:52 -07:00
AUTHORS Initial revision 1999-10-08 06:41:17 +00:00
bits.c maint: update all copyright dates via "make update-copyright" 2025-01-03 09:33:55 -08:00
bootstrap build: update gnulib to latest; also update bootstrap 2024-12-13 21:31:14 -08:00
bootstrap.conf gzip: use pclmul if available 2025-02-10 22:36:17 -08:00
cfg.mk maint: post-release administrivia 2025-04-09 20:48:10 -07:00
ChangeLog-2007 maint: fix typos spotted by codespell 2025-03-27 21:30:42 -07:00
configure.ac build: avoid test failure on systems lacking "more" 2025-04-06 15:59:37 -07:00
COPYING maint: prefer https: to http: 2022-12-25 20:25:19 -08:00
deflate.c gzip: don’t assume EOF == -1 2025-06-16 12:49:57 -07:00
deflate.h maint: update all copyright dates via "make update-copyright" 2025-01-03 09:33:55 -08:00
dfltcc.c gzip: fix s390x build failure 2025-05-30 12:31:37 -07:00
dist-check.mk maint: tweak a distcheck rule 2017-01-01 03:40:15 -08:00
gunzip.1 Initial revision 1999-10-08 06:46:28 +00:00
gunzip.in maint: update --version copyright dates 2025-01-03 09:34:56 -08:00
gzexe.1 doc: embolden SEE ALSO refs 2022-02-10 10:54:48 -08:00
gzexe.in maint: update --version copyright dates 2025-01-03 09:34:56 -08:00
gzip.1 Ignore GZIP envvar except for innocuous flags 2025-02-19 22:38:17 -08:00
gzip.c gzip: don’t assume EOF == -1 2025-06-16 12:49:57 -07:00
gzip.h zip: correctly handle PKZIP signatures and the local header 2025-06-16 12:49:57 -07:00
inflate.c maint: replace tabs in the source code with spaces 2025-06-16 12:49:57 -07:00
lzw.h maint: use GNU style in lines just untabbed 2025-06-16 12:49:57 -07:00
Makefile.am maint: update all copyright dates via "make update-copyright" 2025-01-03 09:33:55 -08:00
NEWS gzip: report "-Inf%" for negative infinity 2025-09-09 11:35:17 -07:00
README maint: update all copyright dates via "make update-copyright" 2025-01-03 09:33:55 -08:00
README-hacking maint: update all copyright dates via "make update-copyright" 2025-01-03 09:33:55 -08:00
README-prereq maint: prefer https: to http: 2022-12-25 20:25:19 -08:00
revision.h maint: update all copyright dates via "make update-copyright" 2025-01-03 09:33:55 -08:00
tailor.h maint: update all copyright dates via "make update-copyright" 2025-01-03 09:33:55 -08:00
THANKS gzip: fix uninitialized read 2025-05-29 23:07:48 -07:00
TODO maint: update all copyright dates via "make update-copyright" 2025-01-03 09:33:55 -08:00
trees.c maint: update all copyright dates via "make update-copyright" 2025-01-03 09:33:55 -08:00
unlzh.c maint: depend on Gnulib's limits-h 2024-08-09 15:06:03 -07:00
unlzw.c maint: use GNU style in lines just untabbed 2025-06-16 12:49:57 -07:00
unpack.c maint: update all copyright dates via "make update-copyright" 2025-01-03 09:33:55 -08:00
unzip.c unzip: use GNU style in newly-added code 2025-06-16 12:49:57 -07:00
util.c gzip: report "-Inf%" for negative infinity 2025-09-09 11:35:17 -07:00
zcat.1 Initial revision 1999-10-08 06:46:28 +00:00
zcat.in maint: update --version copyright dates 2025-01-03 09:34:56 -08:00
zcmp.1 Initial revision 1999-10-08 06:46:28 +00:00
zcmp.in maint: update --version copyright dates 2025-01-03 09:34:56 -08:00
zdiff.1 doc: prefer bold to italics for command names 2020-08-31 16:11:59 -07:00
zdiff.in maint: update --version copyright dates 2025-01-03 09:34:56 -08:00
zegrep.in build: support --program-prefix etc. 2022-04-04 12:00:44 -07:00
zfgrep.in build: support --program-prefix etc. 2022-04-04 12:00:44 -07:00
zforce.1 doc: prefer bold to italics for command names 2020-08-31 16:11:59 -07:00
zforce.in maint: update --version copyright dates 2025-01-03 09:34:56 -08:00
zgrep.1 doc: embolden SEE ALSO refs 2022-02-10 10:54:48 -08:00
zgrep.in maint: update --version copyright dates 2025-01-03 09:34:56 -08:00
zip.c maint: update all copyright dates via "make update-copyright" 2025-01-03 09:33:55 -08:00
zless.1 maint: update all copyright dates via "make update-copyright" 2025-01-03 09:33:55 -08:00
zless.in maint: update --version copyright dates 2025-01-03 09:34:56 -08:00
zmore.1 doc: embolden SEE ALSO refs 2022-02-10 10:54:48 -08:00
zmore.in maint: update --version copyright dates 2025-01-03 09:34:56 -08:00
znew.1 doc: embolden SEE ALSO refs 2022-02-10 10:54:48 -08:00
znew.in Ignore GZIP envvar except for innocuous flags 2025-02-19 22:38:17 -08:00

This is the file README for the gzip distribution.

The GNU gzip home page is https://www.gnu.org/software/gzip.

gzip (GNU zip) is a compression utility designed to be a replacement
for 'compress'. Its main advantages over compress are much better
compression and freedom from patented algorithms.  The GNU Project
uses it as the standard compression program for its system.

gzip currently uses by default the LZ77 algorithm used in zip 1.9 (the
portable pkzip compatible archiver). The gzip format was however
designed to accommodate several compression algorithms. See below
for a comparison of zip and gzip.

gunzip can currently decompress files created by gzip, compress or
pack. The detection of the input format is automatic.  For the
gzip format, gunzip checks a 32 bit CRC. For pack, gunzip checks the
uncompressed length.  The 'compress' format was not designed to allow
consistency checks. However gunzip is sometimes able to detect a bad
.Z file because there is some redundancy in the .Z compression format.
If you get an error when uncompressing a .Z file, do not assume that
the .Z file is correct simply because the standard uncompress does not
complain.  This generally means that the standard uncompress does not
check its input, and happily generates garbage output.

gzip produces files with a .gz extension. Previous versions of gzip
used the .z extension, which was already used by the 'pack'
Huffman encoder. gunzip is able to decompress .z files (packed
or gzip'ed).

Several planned features are not yet supported (see the file TODO).
See the file NEWS for a summary of changes since the last release.
See the file INSTALL for installation instructions.

WARNING: gzip is sensitive to compiler bugs, particularly when
optimizing.  Use "make check" to check that gzip was compiled
correctly.  Try compiling gzip without any optimization if you have a
problem.

Please send all comments and bug reports by electronic mail to
<bug-gzip@gnu.org>.

Bug reports should ideally include:

    * The complete output of "gzip -V" (or the contents of revision.h
      if you can't get gzip to compile)
    * The hardware and operating system (try "uname -a")
    * The compiler used to compile (if it is gcc, use "gcc -v")
    * A description of the bug behavior
    * The input to gzip, that triggered the bug

If you send me patches for machines I don't have access to, please test them
very carefully. gzip is used for backups, it must be extremely reliable.

The znew and gzexe shell scripts provided with gzip benefit from
(but do not require) the (non-GNU) cpmod utility to transfer file attributes.

The sample programs zread.c, sub.c and add.c in subdirectory sample
are provided as examples of useful complements to gzip. Read the
comments inside each source file.  The perl script ztouch is also
provided as example (not installed by default since it relies on perl).


gzip is free software, you can redistribute it and/or modify it under
the terms of the GNU General Public License, a copy of which is
provided under the name COPYING. The latest version of gzip is always
available from https://ftp.gnu.org/gnu/gzip or in any of the GNU
mirror sites.

Many thanks to those who provided me with bug reports and feedback.
See the files THANKS and ChangeLog for more details.


                Note about zip vs. gzip:

The name 'gzip' was a very unfortunate choice, because zip and gzip
are two really different programs, although the actual compression and
decompression sources were written by the same persons. A different
name should have been used for gzip, but it is too late to change now.

zip is an archiver: it compresses several files into a single archive
file. gzip is a simple compressor: each file is compressed separately.
Both share the same compression and decompression code for the
'deflate' method.  unzip can also decompress old zip archives
(implode, shrink and reduce methods). gunzip can also decompress files
created by compress and pack. zip 1.9 and gzip do not support
compression methods other than deflation. (zip 1.0 supports shrink and
implode). Better compression methods may be added in future versions
of gzip. zip will always stick to absolute compatibility with pkzip,
it is thus constrained by PKWare, which is a commercial company.  The
gzip header format is deliberately different from that of pkzip to
avoid such a constraint.

On Unix, gzip is mostly useful in combination with tar. GNU tar
1.11.2 and later has a -z option to invoke gzip automatically.  "tar -z"
compresses better than zip, since gzip can then take advantage of
redundancy between distinct files. The drawback is that you must
scan the whole tar.gz file in order to extract a single file near
the end; unzip can directly seek to the end of the zip file. There
is no overhead when you extract the whole archive anyway.
If a member of a .zip archive is damaged, other files can still
be recovered. If a .tar.gz file is damaged, files beyond the failure
point cannot be recovered. (Future versions of gzip will have
error recovery features.)

gzip and gunzip are distributed as a single program. zip and unzip
are, for historical reasons, two separate programs, although the
authors of these two programs work closely together in the Info-ZIP
team. zip and unzip are not associated with the GNU project.
See https://infozip.sourceforge.net/ for more about zip and unzip.


For any copyright year range specified as YYYY-ZZZZ in this package
note that the range specifies every single year in that closed interval.

========================================================================

Copyright (C) 1999, 2001-2002, 2006-2007, 2009-2025 Free Software Foundation,
Inc.
Copyright (C) 1992, 1993 Jean-loup Gailly

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with no
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
Texts.  A copy of the license is included in the ``GNU Free
Documentation License'' file as part of this distribution.