From: François Pinard Date: Wed, 16 Nov 1994 02:52:27 +0000 (+0000) Subject: *** empty log message *** X-Git-Url: https://git.dogcows.com/gitweb?a=commitdiff_plain;h=05b84a0990b40c36b9799ec7e37731492cba8ff1;p=chaz%2Ftar *** empty log message *** --- diff --git a/doc/tar.texi b/doc/tar.texi index 12b9ad2..ab7c1b5 100644 --- a/doc/tar.texi +++ b/doc/tar.texi @@ -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). + + +