]> Dogcows Code - chaz/tar/blobdiff - doc/tar.texi
(manual): Fix TEXINPUTS
[chaz/tar] / doc / tar.texi
index ac5f7175bce4ab3dbf58e73e049407d63b0c44d7..1460a14a138313514648e37aa8c38475ab0c39cf 100644 (file)
@@ -13,9 +13,9 @@
 @c Maintenance notes:
 @c  1. Pay attention to @FIXME{}s and @UNREVISED{}s
 @c  2. Before creating final variant:
-@c    1.1. Run `make check-options' to make sure all options are properly
+@c    2.1. Run `make check-options' to make sure all options are properly
 @c         documented;
-@c    2.1. Run `make master-menu' (see comment before the master menu).
+@c    2.2. Run `make master-menu' (see comment before the master menu).
 
 @include rendition.texi
 @include value.texi
@@ -526,7 +526,7 @@ pipes).  @command{tar} may even access remote devices or files (as archives).
 You can use @command{tar} archives in many ways.  We want to stress a few
 of them: storage, backup, and transportation.
 
-@FIXME{the following table entries need a bit of work..}
+@FIXME{the following table entries need a bit of work.}
 @table @asis
 @item Storage
 Often, @command{tar} archives are used to store related files for
@@ -7418,7 +7418,6 @@ mentioned by name on the standard error.
 
 @node directory
 @subsection Changing the Working Directory
-@UNREVISED
 
 @FIXME{need to read over this node now for continuity; i've switched
 things around some.}
@@ -7504,12 +7503,10 @@ For instance, the file list for the above example will be:
 
 @smallexample
 @group
--C
-/etc
+-C/etc
 passwd
 hosts
--C
-/lib
+--directory=/lib
 libc.a
 @end group
 @end smallexample
@@ -7521,9 +7518,6 @@ To use it, you would invoke @command{tar} as follows:
 $ @kbd{tar -c -f foo.tar --files-from list}
 @end smallexample
 
-Notice also that you can only use the short option variant in the file
-list, i.e., always use @option{-C}, not @option{--directory}.
-
 The interpretation of @option{--directory} is disabled by
 @option{--null} option.
 
@@ -8573,6 +8567,7 @@ describe the required procedures in detail.
 @node Split Recovery
 @subsubsection Extracting Members Split Between Volumes
 
+@cindex Mutli-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}).
@@ -8580,17 +8575,18 @@ This program is available from
 @uref{http://www.gnu.org/@/software/@/tar/@/utils/@/tarcat.html, @GNUTAR{}
 home page}.  It concatenates several archive volumes into a single
 valid archive.  For example, if you have three volumes named from
-@file{vol-1.tar} to @file{vol-2.tar}, you can do the following to
+@file{vol-1.tar} to @file{vol-3.tar}, you can do the following to
 extract them using a third-party @command{tar}:
 
 @smallexample
 $ @kbd{tarcat vol-1.tar vol-2.tar vol-3.tar | tar xf -}
 @end smallexample
 
-You could use this approach for many (although not all) PAX
+@cindex Mutli-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
-such a way that each part of a split member is extracted as a
+such a way that each part of a split member is extracted to a
 different file by @command{tar} implementations that are not aware of
 GNU extensions.  More specifically, the very first part retains its
 original name, and all subsequent parts are named using the pattern:
@@ -8614,7 +8610,7 @@ created the archive.
 @item %n @tab  Ordinal number of this particular part.
 @end multitable
 
-For example, if, a file @file{var/longfile} was split during archive
+For example, if the file @file{var/longfile} was split during archive
 creation between three volumes, and the creator @command{tar} process
 had process ID @samp{27962}, then the member names will be:
 
@@ -8678,6 +8674,7 @@ members.  Read further to learn more about them.
 @node Sparse Recovery
 @subsubsection Extracting Sparse Members
 
+@cindex sparse files, extracting with non-GNU tars
 Any @command{tar} implementation will be able to extract sparse members from a
 PAX archive.  However, the extracted files will be @dfn{condensed},
 i.e. any zero blocks will be removed from them.  When we restore such
@@ -8685,11 +8682,13 @@ a condensed file to its original form, by adding zero bloks (or
 @dfn{holes}) back to their original locations, we call this process
 @dfn{expanding} a compressed sparse file.
 
+@pindex xsparse
 To expand a file, you will need a simple auxiliary program called
 @command{xsparse}.  It is available in source form from
 @uref{http://www.gnu.org/@/software/@/tar/@/utils/@/xsparse.html, @GNUTAR{}
 home page}.
 
+@cindex sparse files v.1.0, extracting with non-GNU tars
 Let's begin with archive members in @dfn{sparse format
 version 1.0}@footnote{@xref{PAX 1}.}, which are the easiest to expand.
 The condensed file will contain both file map and file data, so no
@@ -8730,7 +8729,7 @@ you can explicitely specify output file name as a second argument to
 the command:
 
 @smallexample
-$ @kbd{xsparse @file{cond-file}}
+$ @kbd{xsparse @file{cond-file} @file{out-file}}
 @end smallexample
 
 It is often a good idea to run @command{xsparse} in @dfn{dry run} mode
@@ -8758,7 +8757,7 @@ $ @kbd{xsparse /home/gray/GNUSparseFile.6058/sparsefile}
 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
 condition or something).  If you wish it to produce verbose output,
-similar to that from the dry run mode, give it @option{-v} option:
+similar to that from the dry run mode, use @option{-v} option:
 
 @smallexample
 @group
@@ -8792,6 +8791,9 @@ Done
 @end group
 @end smallexample
 
+@anchor{extracting sparse v.0.x}
+@cindex sparse files v.0.1, extracting with non-GNU tars
+@cindex sparse files v.0.0, extracting with non-GNU tars
 An @dfn{extended header} is a special @command{tar} archive header
 that precedes an archive member and contains a set of
 @dfn{variables}, describing the member properties that cannot be
@@ -8815,14 +8817,14 @@ manually extract the headers.  We recommend the following algorithm:
 
 @enumerate 1
 @item 
-Consult the documentation for your @command{tar} implementation for an
-option that will print @dfn{block numbers} along with the archive
+Consult the documentation of your @command{tar} implementation for an
+option that prints @dfn{block numbers} along with the archive
 listing (analogous to @GNUTAR{}'s @option{-R} option).  For example,
 @command{star} has @option{-block-number}.
 
 @item
-Obtain the verbose listing using the @samp{block number} option, and
-find the position of the sparse member in question and the member
+Obtain verbose listing using the @samp{block number} option, and
+find block numbers of the sparse member in question and the member
 immediately following it.  For example, running @command{star} on our
 archive we obtain:
 
@@ -10165,22 +10167,10 @@ added later.  To label subsequent volumes, specify
 @option{--label=@var{archive-label}} again in conjunction with the
 @option{--append}, @option{--update} or @option{--concatenate} operation.
 
-@FIXME{This is no longer true: Multivolume archives in @samp{POSIX}
-format can be extracted using any posix-compliant tar
-implementation.  The split members can then be recreated from parts
-using a simple shell script. Provide more information about it:}
-Beware that there is @emph{no} real standard about the proper way, for
-a @command{tar} archive, to span volume boundaries.  If you have a
-multi-volume created by some vendor's @command{tar}, there is almost
-no chance you could read all the volumes with @GNUTAR{}.
-The converse is also true: you may not expect
-multi-volume archives created by @GNUTAR{} to be
-fully recovered by vendor's @command{tar}.  Since there is little
-chance that, in mixed system configurations, some vendor's
-@command{tar} will work on another vendor's machine, and there is a
-great chance that @GNUTAR{} will work on most of
-them, your best bet is to install @GNUTAR{} on all
-machines between which you know exchange of files is possible.
+Notice that multi-volume support is a GNU extension and the archives
+created in this mode should be read only using @GNUTAR{}.  If you
+absolutely have to process such archives using a third-party @command{tar}
+implementation, read @ref{Split Recovery}.
 
 @node Tape Files
 @subsection Tape Files
This page took 0.038003 seconds and 4 git commands to generate.