X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=doc%2Ftar.texi;h=d148581bdce962e2438ed3d8899c7c708b30a5b1;hb=df970c7332b4b09744cadc7c848c4a4992d35e93;hp=ddfbac5d9644d4be91af12a55fa6db884be211e7;hpb=d01f65092c3ecf3dc8b5f443a542975249afa86c;p=chaz%2Ftar diff --git a/doc/tar.texi b/doc/tar.texi index ddfbac5..d148581 100644 --- a/doc/tar.texi +++ b/doc/tar.texi @@ -339,6 +339,7 @@ Using Multiple Tapes * Multi-Volume Archives:: Archives Longer than One Tape or Disk * Tape Files:: Tape Files +* Tarcat:: Concatenate Volumes into a Single Archive GNU tar internals and development @@ -6528,6 +6529,9 @@ archives to contain only regular files and directories, avoiding other kind of special files. Do not attempt to save sparse files or contiguous files as such. Let's discuss a few more problems, in turn. +@FIXME{Discuss GNU extensions (incremental backups, multi-volume +archives and archive labels) in GNU and PAX formats.} + @menu * Portable Names:: Portable Names * dereference:: Symbolic Links @@ -6644,19 +6648,6 @@ we plan to make @samp{posix} format the default. To force creation a @GNUTAR{} archive, use option @value{op-format-gnu}. -Some @command{tar} options are currently basing on @GNUTAR{} -format, and can therefore be used only with @samp{gnu} -or @samp{oldgnu} archive formats. The list of such options follows: - -@itemize @bullet -@item @value{op-label}, when used with @value{op-create}. -@item @value{op-incremental} -@item @value{op-multi-volume} -@end itemize - -These options will be re-implemented for the @samp{posix} archive -format in the future. - @node posix @subsection @GNUTAR{} and @acronym{POSIX} @command{tar} @@ -6665,17 +6656,6 @@ to read and create archives conforming to @acronym{POSIX.1-2001} standard. A @acronym{POSIX} conformant archive will be created if @command{tar} was given @value{op-format-posix} option. -Notice, that currently @acronym{GNU} extensions are not -allowed with this format. Following is the list of options that -cannot be used with @value{op-format-posix}: - -@itemize @bullet -@item @value{op-label}, when used with @value{op-create}. -@item @value{op-incremental} -@item @value{op-multi-volume} -@end itemize - -This restriction will disappear in the future versions. @node Checksumming @subsection Checksumming Problems @@ -8546,6 +8526,8 @@ $ @kbd{tar cMff /dev/tape0 /dev/tape1 @var{files}} @menu * Multi-Volume Archives:: Archives Longer than One Tape or Disk * Tape Files:: Tape Files +* Tarcat:: Concatenate Volumes into a Single Archive + @end menu @node Multi-Volume Archives @@ -8666,6 +8648,32 @@ People seem to often do: or such, for pushing a common date in all volumes or an archive set. +@node Tarcat +@subsection Concatenate Volumes into a Single Archive + +@pindex tarcat + Sometimes it is necessary to convert existing @GNUTAR{} multi-volume +archive to a single @command{tar} archive. Simply concatenating all +volumes into one will not work, since each volume carries an additional +information at the beginning. @GNUTAR{} is shipped with the shell +script @command{tarcat} designed for this purpose. + + The script takes a list of files comprising a multi-volume archive +and creates the resulting archive at the standard output. For example: + +@smallexample +@kbd{tarcat vol.1 vol.2 vol.3 | tar tf -} +@end smallexample + + The script implements a simple heuristics to determine the format of +the first volume file and to decide how to process the rest of the +files. However, it makes no attempt to verify whether the files are +given in order or even if they are valid @command{tar} archives. +It uses @command{dd} and does not filter its standard error, so you +will usually see lots of spurious messages. + +@FIXME{The script is not installed. Should we install it?} + @node label @section Including a Label in the Archive @cindex Labeling an archive