*** empty log message ***

This commit is contained in:
François Pinard
1994-11-16 02:52:27 +00:00
parent 8835bb37e9
commit 05b84a0990
+91
View File
@@ -928,6 +928,97 @@ performance (because the software layers above the tape drive still
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.
@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; 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).