@item File name.
If the name contains any special characters (white space, newlines,
-etc.) these are displayed in an unambiguous form using so called
+etc.)@: these are displayed in an unambiguous form using so called
@dfn{quoting style}. For the detailed discussion of available styles
and on how to use them, see @ref{quoting styles}.
tarbombs. In the absence of @var{dir} argument, the name of the new directory
will be equal to the base name of the archive (file name minus the
archive suffix, if recognized). Any member names that do not begin
-with that directory name (after
+with that directory name (after
transformations from @option{--transform} and
@option{--strip-components}) will be prefixed with it. Recognized
file name suffixes are @samp{.tar}, and any compression suffixes
for more detail).
Notice, that @var{command} is executed once for each regular file
-extracted. Non-regular files (directories, etc.) are ignored when this
+extracted. Non-regular files (directories, etc.)@: are ignored when this
option is used.
@end table
@cindex Git, ignore files
@cindex Bazaar, ignore files
@cindex Mercurial, ignore files
-When archiving directories that are under some version control system (VCS),
+When archiving directories that are under some version control system (VCS),
it is often convenient to read exclusion patterns from this VCS'
ignore files (e.g. @file{.cvsignore}, @file{.gitignore}, etc.) The
-following options provide such possibilty:
+following options provide such possibility:
@table @option
@anchor{exclude-vcs-ignores}
Do not apply transformation to hard link targets.
@end table
-Default is @samp{rsh}, which means to apply tranformations to both archive
+Default is @samp{rsh}, which means to apply transformations to both archive
members and targets of symbolic and hard links.
Default scope flags can also be changed using @samp{flags=} statement
However, this format is designed in such a way that any tar
implementation able to read @samp{ustar} archives will be able to read
most @samp{posix} archives as well, with the only exception that any
-additional information (such as long file names etc.) will in such
+additional information (such as long file names etc.)@: will in such
case be extracted as plain text files along with the files it refers to.
This archive format will be the default format for future versions
compressor names along with each of these options.
You can use any of these options on physical devices (tape drives,
-etc.) and remote files as well as on normal files; data to or from
+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 let you override these by setting a program-specific
-environment variable. For example, with @command{gzip} you can set
-@env{GZIP}:
-
-@smallexample
-$ @kbd{GZIP='-9 -n' tar czf archive.tar.gz subdir}
-@end smallexample
-Another way would be to use the @option{-I} option instead (see
+size. The default compression parameters are used.
+You can override them by using the @option{-I} option (see
below), e.g.:
@smallexample
@end smallexample
@noindent
-Finally, the third, traditional, way to do this is to use a pipe:
+A more traditional way to do this is to use a pipe:
@smallexample
$ @kbd{tar cf - subdir | gzip -9 -n > archive.tar.gz}
@item --use-compress-program=@var{command}
@itemx -I=@var{command}
Use external compression program @var{command}. Use this option if you
+want to specify options for the compression program, or 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{}
+at compile time, or if you have a compression program that @GNUTAR{}
does not support. The @var{command} argument is a valid command
invocation, as you would type it at the command line prompt, with any
additional options as needed. Enclose it in quotes if it contains
-white space (see @ref{external, Running External Commands}, for more detail).
+white space (@pxref{external, Running External Commands}).
The @var{command} should follow two conventions:
@node Attributes
@section Handling File Attributes
-@cindex atrributes, files
+@cindex attributes, files
@cindex file attributes
When @command{tar} reads files, it updates their access times. To
record of the file system contents and makes archives more compact, it
may present some difficulties when extracting individual members from
the archive. For example, trying to extract file @file{one} from the
-archive created in previous examples produces, in the absense of file
+archive created in previous examples produces, in the absence of file
@file{jeden}:
@smallexample
This keyword defines the value of the @samp{mtime} field that
is written into the ustar header blocks for the extended headers.
By default, the @samp{mtime} field is set to the modification time
-of the archive member described by that extended headers.
+of the archive member described by that extended header (or to the
+value of the @option{--mtime} option, if supplied).
@item globexthdr.name=@var{string}
This keyword allows user control over the name that is written into
--pax-option=exthdr.name=%d/PaxHeaders/%f,atime:=0
@end smallexample
+@noindent
+If you extract files from such an archive and recreate the archive
+from them, you will also need to eliminate changes due to ctime, as
+shown in examples below:
+
+@smallexample
+--pax-option=exthdr.name=%d/PaxHeaders/%f,atime:=0,ctime:=0
+@end smallexample
+
+@noindent
+or
+
+@smallexample
+--pax-option=exthdr.name=%d/PaxHeaders/%f,atime:=0,delete=ctime
+@end smallexample
+
@node Checksumming
@subsection Checksumming Problems
@node Split Recovery
@subsubsection Extracting Members Split Between Volumes
-@cindex Mutli-volume archives, extracting using non-GNU tars
+@cindex Multi-volume archives, extracting using non-GNU tars
If a member is split between several volumes of an old GNU format archive
most third party @command{tar} implementation will fail to extract
it. To extract it, use @command{tarcat} program (@pxref{Tarcat}).
$ @kbd{tarcat vol-1.tar vol-2.tar vol-3.tar | tar xf -}
@end smallexample
-@cindex Mutli-volume archives in PAX format, extracting using non-GNU tars
+@cindex Multi-volume archives in PAX format, extracting using non-GNU tars
You could use this approach for most (although not all) PAX
format archives as well. However, extracting split members from a PAX
archive is a much easier task, because PAX volumes are constructed in
@end smallexample
@noindent
-where symbols preceeded by @samp{%} are @dfn{macro characters} that
+where symbols preceded by @samp{%} are @dfn{macro characters} that
have the following meaning:
@multitable @columnfractions .25 .55
@noindent
The program behaves the same way all UNIX utilities do: it will keep
-quiet unless it has simething important to tell you (e.g. an error
+quiet unless it has something important to tell you (e.g. an error
condition or something). If you wish it to produce verbose output,
similar to that from the dry run mode, use @option{-v} option:
@cindex absolute file names
Unless you use the @option{--absolute-names} (@option{-P}) option,
@GNUTAR{} will not allow you to create an archive that contains
-absolute file names (a file name beginning with @samp{/}.) If you try,
+absolute file names (a file name beginning with @samp{/}). If you try,
@command{tar} will automatically remove the leading @samp{/} from the
file names it stores in the archive. It will also type a warning
message telling you what it is doing.