doc: improve discussion of compressed archives

* doc/tar.texi (gzip): Don't claim that -I 'gzip --best' works.
Problem reported by Davide Brini in
<http://lists.gnu.org/archive/html/bug-tar/2012-07/msg00025.html>.
Also, improve some of the surrounding text.

This file is a placeholder. It will be replaced with the actual ChangeLog
by make dist.  Run make ChangeLog if you wish to create it earlier.
This commit is contained in:
Paul Eggert
2012-07-26 08:49:39 -07:00
parent 0708c153e4
commit 07ef59cab8

View File

@@ -8923,39 +8923,30 @@ etc.) and remote files as well as on normal files; data to or from
such devices or remote files is reblocked by another copy of the
@command{tar} program to enforce the specified (or default) record
size. The default compression parameters are used. Most compression
programs allow to override these by setting a program-specific
environment variable. For example, when using @command{gzip} you can
use @env{GZIP} as in the example below:
programs let you override these by setting a program-specific
environment variable. For example, with @command{gzip} you can set
@env{GZIP}:
@smallexample
$ @kbd{GZIP=--best tar czf archive.tar.gz subdir}
$ @kbd{GZIP='-9 -n' tar czf archive.tar.gz subdir}
@end smallexample
@noindent
Another way would be to use the @option{-I} option instead (see
below), e.g.:
The traditional way to do this is to use a pipe:
@smallexample
$ @kbd{tar -cf archive.tar.gz -I 'gzip --best' subdir}
@end smallexample
@noindent
Finally, the third, traditional, way to achieve the same result is to
use pipe:
@smallexample
$ @kbd{tar cf - subdir | gzip --best -c - > archive.tar.gz}
$ @kbd{tar cf - subdir | gzip -9 -n > archive.tar.gz}
@end smallexample
@cindex corrupted archives
About corrupted compressed archives: compressed files have no
redundancy, for maximum compression. The adaptive nature of the
Compressed archives are easily corrupted, because compressed files
have little redundancy. The adaptive nature of the
compression scheme means that the compression tables are implicitly
spread all over the archive. If you lose a few blocks, the dynamic
construction of the compression tables becomes unsynchronized, and there
is little chance that you could recover later in the archive.
Another compression options provide a better control over creating
Other compression options provide better control over creating
compressed archives. These are:
@table @option
@@ -8990,13 +8981,12 @@ suffix. The following suffixes are recognized:
Use external compression program @var{prog}. Use this option if you
are not happy with the compression program associated with the suffix
at compile time or if you have a compression program that @GNUTAR{}
does not support. There are two requirements to which @var{prog}
should comply:
does not support. The program should follow two conventions:
First, when called without options, it should read data from standard
First, when invoked without options, it should read data from standard
input, compress it and output it on standard output.
Secondly, if called with @option{-d} argument, it should do exactly
Secondly, if invoked with the @option{-d} option, it should do exactly
the opposite, i.e., read the compressed data from the standard input
and produce uncompressed data on the standard output.
@end table