To see the progress of @code{tar} through the archive, the
@samp{--record-number} option prints a message for each record read or
-writted. (@xref{Archive Structure}.)
+writted. (@xref{Archive Structure}.) This option can be very helpful
+when trying to figure out where in the archive an error occurs.
The @samp{--totals} option (which is only meaningful when used with
@samp{--create}) causes @code{tar} to print the total amount written to
@samp{--record-number}, but do want visual confirmation that @code{tar}
is actually making forward progress.
+The @samp{--version} option will generate a message with the version of
+GNU @code{tar} you are using.
+
@chapter Input and Output
@section Changing the Archive Name
If you extract multiple members, they appear on standard output
concatenated, in the order they are found in the archive.
+@section Dealing with Compressed Archives
+
+You can have archives be compressed by using the @samp{--gzip} (or
+@samp{-z}) option. This will arrange for @code{tar} to use the
+@code{gzip} program to be used to compress or uncompress the archive
+wren writing or reading it.
+
+To use the older, obsolete, @code{compress} program, use the
+@samp{--compress} (or @samp{-Z}) option. The GNU Project recommends you
+not use @code{compress}, because there is a patent covering the
+algorithm it uses. Merely by running @code{compress} you could be sued
+for patent infringment.
+
+When using either @samp{--gzip} or @samp{--compress}, @code{tar} does
+not do blocking (@pxref{Blocking}) correctly. Use @samp{--gzip-block}
+or @samp{--compress-block} instead when using real tape drives.
+
@chapter Being More Careful
When using @code{tar} with many options, particularly ones with
serious mistakes. As a result, @code{tar} provides several options that
make observing @code{tar} easier.
-The @samp{--verbose} option (@pxref{Making @code{tar} More Verbose})
-causes @code{tar} to print the name of each file or archive member as it
-is processed.
+The @samp{--verbose} option causes @code{tar} to print the name of each
+file or archive member as it is processed. This and the other options
+which make tar print status information can be useful in monitoring
+@code{tar}. @xref{Making @code{tar} More Verbose}.
If you use @samp{--interactive} (or {@samp--confirm}), then @code{tar}
will ask you for confirmation before each operation. For example, when
honor the blocking), but not as dramatically as on tape drives that
honor blocking.
+Wher reading an archive, @code{tar} can usually figure out the block
+size on itself. When this is the case, and a non-standard block size
+was used when the archive was created, @code{tar} will print a message
+about a non-standard blocking factor, and then operate normally. On
+some tape devices, however, @code{tar} cannot figure out the block size
+itself. On most of those, you can specify a blocking factor (with
+@samp{--block-size) larger than the actual blocking factor, and then use
+the @samp{--read-full-blocks} option. (If you specify a blocking factor
+with @samp{--block-size} and don't use the @samp{--read-full-blocks}
+option, then @code{tar} will not attempt to figure out the blocking size
+itself.) On some devices, you must always specify the block size
+exactly with @samp{--block-size} when reading, because @code{tar} cannot
+figure it out. In any case, use @samp{--list} before doing any
+extractions to see whether @code{tar} is reading the archive correctly.
+
+If you use a blocking factor larger than 20, older @code{tar} programs
+might not be able to read the archive, so we recommend this as a limit
+to use in practice. GNU @code{tar}, however, will support arbitrarily
+large block sizes, limited only by the amount of virtual memory or the
+physical characteristics of the tape device.
+
+If you are writing a compressed archive to tape with @samp{--compress}
+or @samp{--gzip} (@pxref{Input and Output}), @code{tar} will not block
+the archive correctly. This doesn't matter if you are writing the
+archive to a normal file or through a pipe, but if you are writing it to
+a tape drive, then this causes problems. Use @samp{--compress-block} or
+@samp{--gzip-block} instead, to cause @code{tar} to arrange to have
+blocking work correctly.
+
+@section Using Multiple Tapes
+
+Often you might want to write a large archive, one larger than will fit
+on the actual tape you are using. In such a case, you can run multiple
+@code{tar} commands, but this can be inconvenient, particularly if you
+are using options like @samp{--exclude} or dumping entire filesystems.
+Therefore, @code{tar} supports multiple tapes automatically.
+
+Use @samp{--multi-volume} on the command line, and then @code{tar} will,
+when it reaches the end of the tape, prompt for another tape, and
+continue the archive. Each tape will have an independent archive, and
+can be read without needing the other. (As an exception to this, the
+file that @code{tar} was archiving when it ran out of tape will usually
+be split between the two archives; in this case you need to extract from
+the first archive, using @samp{--multi-volume}, and then put in the
+second tape when prompted, so @code{tar} can restore both halves of the
+file.)
+
+When prompting for a new tape, @code{tar} accepts any of the following
+responses:
+
+@table @samp
+@item ?
+Request @code{tar} to explain possible responses
+@item q
+Request @code{tar} to exit immediately.
+@item n @var{file-name}
+Request @code{tar} to write the next volume on the file @var{file-name}.
+@item !
+Request @code{tar} to run a subshell.
+@item y
+Request @code{tar} to begin writing the next volume.
+@end table
+
+(You should only type @samp{y} after you have changed the tape;
+otherwise @code{tar} will write over the volume it just finished.)
+
+If you want more elaborate behavior than this, give @code{tar} the
+@samp{--info-script=@var{script-name}} option. The file
+@var{script-name} is expected to be a program (or shell script) to be
+run instead of the normal prompting procedure. When the program
+finishes, @code{tar} will immediately begin writing the next volume.
+(The behavior of the @samp{n} response to the normal tape-change prompt
+is not available if you use @samp{--info-script}.)
+
+The method @code{tar} uses to detect end of tape is not perfect, and
+fails on some operating systems or on some devices. You can use the
+@samp{--tape-length=@var{size}} (or @samp{-L @var{size}}) option if
+@code{tar} can't detect the end of the tape itself. The @var{size}
+argument should be the size of the tape.
+
+The volume number used by @code{tar} in its tape-change prompt can be
+changed; if you give the @samp{--volno-file=@var{file-name}} option,
+then @var{file-name} should contain a decimal number. That number will
+be used as the volume number of the first volume written. When
+@code{tar} is finished, it will rewrite the file with the now--current
+volume number. (This does not change the volume number written on a
+tape label (@pxref{Special Options for Archiving}; it @emph{only}
+affects the number used in the prompt.)
+
+If you want @code{tar} to cycle through a series of tape drives, then
+you can use the @samp{n} response to the tape-change prompt. This is
+error prone, however, and doesn't work at all with @samp{--info-script}.
+Therefore, if you give @code{tar} multiple @samp{--file} options, then
+the specified files will be used, in sequence, as the successive volumes
+of the archive. Only when the first one in the sequence needs to be
+used again will @code{tar} prompt for a tape change (or run the info
+script).
+
+@section Tape Files
+
+When @code{tar} writes an archive to tape, it creates a single tape
+file. If multiple archives are written to the same tape, one after the
+other, they each get written as separate tape files. When extracting,
+it is necessary to position the tape at the right place before running
+@code{tar}. To do this, use the @code{mt} command. For more
+information on the @code{mt} command and on the organization of tapes
+into a sequence of tape files, see XXX.
+
+@chapter Special Options for Archiving
+
+To give the archive a name which will be recorded in it, use the
+@samp{--label=@var{volume-label}} (or @samp{-V}) option. This will
+write a special record identifying @var{volume-label} as the name of the
+archive to the front of the archive which will be displayed when the
+archive is listed with @samp{--list}. If you are creating a
+multi-volume archive with @samp{--multi-volume} (@pxref{Using Multiple
+Tapes}), then the volume label will have @same{ Volume @var{nnn}}
+appended to the name you give, where @var{nnn} is the number of the
+volume of the archive. (If you use the @samp{--label} option when
+reading an archive, it checks to make sure the label on the tape matches
+the one you give. @xref{Special Options for Archiving}.)
+
+Files in the filesystem occasionally have ``holes.'' A hole in a file
+is a section of the file's contents which was never written. The
+contents of a hole read as all zeros. On many operating systems, actual@c
+disk storage is not allocated for holes, but they are counted in the
+length of the file. If you archive such a file, @code{tar} could create
+an archive longer than the original. To have @code{tar} attempt to
+recognize the holes in a file, use @samp{--sparse}. When you use the
+@samp{--sparse} option, then, for any file using less disk space than
+would be expected from its length, @code{tar} searches the file for
+consecutive stretches of zeros. It then records in the archive for the
+file where the consecutive stretches of zeros are, and only archives the
+``real contents'' of the file. On extraction (using @samp{--sparse} is
+not needed on extraction) any such files have hols created wherever the
+continuous stretches of zeros were found. Thus, if you use
+@samp{--sparse}, @code{tar} archives won't take more space than the
+original.
+
+When @code{tar} reads files, this causes them to have the access times
+updated. To have @code{tar} attempt to set the access times back to
+what they were before they were read, use the @samp{--atime-preserve}
+option. This doesn't work for files that you don't own, unless you're
+root, and it doesn't interact with incremental dumps nicely
+(@pxref{Making Backups}), but it is good enough for some purposes.
+
+@chapter Special Options for Reading Archives
+
+
+
+
+