@set xref-owner @xref{Option Summary}
@set pxref-owner @pxref{Option Summary}
-@set op-format @kbd{--format}
+@set op-format @kbd{--format} (@kbd{-H})
@set ref-format @ref{format}
@set xref-format @xref{format}
@set pxref-format @pxref{format}
@set xref-volno-file @xref{Using Multiple Tapes}
@set pxref-volno-file @pxref{Using Multiple Tapes}
+@set op-seek @kbd{--seek}
+@set ref-seek @ref{seek}
+@set xref-seek @xref{seek}
+@set pxref-seek @pxref{seek}
+
@c Put everything in one index (arbitrarily chosen to be the concept index).
@syncodeindex fn cp
@syncodeindex ky cp
For version 1.12, Daniel Hagerty contributed a great deal of technical
consulting. In particular, he is the primary author of @ref{Backups}.
-In July, 2003 @GNUTAR{} was put on CVS at @url{savannah.gnu.org}, and
-an active development and maintenance work has started
+In July, 2003 @GNUTAR{} was put on CVS at savannah.gnu.org
+(see @url{http://savannah.gnu.org/projects/tar}), and
+active development and maintenance work has started
again. Currently @GNUTAR{} is being maintained by Paul Eggert, Sergey
Poznyakoff and Jeff Bailey.
@end smallexample
It is also a good practice to examine contents of the archive
-before extracting it, using @option{op-list} option, possibly combined
-with @option{op-verbose}.
+before extracting it, using @value{op-list} option, possibly combined
+with @value{op-verbose}.
@node failing commands
@subsection Commands That Will Fail
(see --info-script)
+@item -n
+@itemx --seek
+
+Assume that the archive media supports seeks to arbitrary
+locations. Usually @command{tar} determines automatically whether
+the archive can be seeked or not. This option is intended for use
+in cases when such recognition fails.
+
@item --newer=@var{date}
@itemx --after-date=@var{date}
@itemx -N
@item --strip-components=@var{number}
Strip given @var{number} of leading components from file names before
-extraction. For example, if archive @file{archive.tar} contained
+extraction.@footnote{This option was called @option{--strip-path} in
+version 1.14.} For example, if archive @file{archive.tar} contained
@file{/some/file/name}, then running
@smallexample
amount written to the archive, after it has been fully created.
The @value{op-checkpoint} option prints an occasional message
-as @command{tar} reads or writes the archive. In fact, it print
-directory names while reading the archive. It is designed for
+as @command{tar} reads or writes the archive. In fact, it prints
+a message each 10 records read or written. It is designed for
those who don't need the more detailed (and voluminous) output of
@value{op-block-number}, but do want visual confirmation that @command{tar}
is actually making forward progress.
not be welcome at all that @GNUTAR{} removes the
whole hierarchy just to make room for the link to be reinstated
(unless it @emph{also} simultaneously restores the full
-@file{/usr/local2}, of course! @GNUTAR{} is indeed
+@file{/usr/local2}, of course!) @GNUTAR{} is indeed
able to remove a whole hierarchy to reestablish a symbolic link, for
example, but @emph{only if} @value{op-recursive-unlink} is specified
to allow this behavior. In any case, single files are silently
@end ifclear
-This chapter documents both the provided FSF scripts and @command{tar}
+This chapter documents both the provided shell scripts and @command{tar}
options which are more specific to usage as a backup tool.
To @dfn{back up} a file system means to create archives that contain
be excluded from the backup. Exclude file lists are searched in
/etc/tar-backup directory. A common use for exclude file lists
is to exclude files containing security-sensitive information
-(e.g. @file{/etc/shadow} from backups.
+(e.g. @file{/etc/shadow} from backups).
This variable affects only @code{backup}.
@end defvr
@end defvr
@defvr {Backup variable} MT_REWIND
-THe name of @dfn{rewind} function. The default definition is as
+The name of @dfn{rewind} function. The default definition is as
follows:
@smallexample
@subsection User Hooks
@dfn{User hooks} are shell functions executed before and after
-each @command{tar} invocations. Thus, there are @dfn{backup
+each @command{tar} invocation. Thus, there are @dfn{backup
hooks}, which are executed before and after dumping each file
system, and @dfn{restore hooks}, executed before and
after restoring a file system. Each user hook is a shell function
taking four arguments:
@deffn {User Hook Function} hook @var{level} @var{host} @var{fs} @var{fsname}
-The arguments are:
+Its arguments are:
@table @var
@item level
@node backup-specs example
@subsection An Example Text of @file{Backup-specs}
-The following is the text of @file{backup-specs} as it appears at FSF:
+The following is an example of @file{backup-specs}:
@smallexample
# site-specific parameters for file system backup.
messages that were generated, as well as how much space was left in
the media volume after the last volume of the archive was written.
You should check this log file after every backup. The file name is
-@file{log-@var{mmm-ddd-yyyy}-level-@var{n}}, where @var{n} represents
-current dump level number.
+@file{log-@var{mm-dd-yyyy}-level-@var{n}}, where @var{mm-dd-yyyy}
+represents current date, and @var{n} represents current dump level number.
The script also prints the name of each system being dumped to the
standard output.
@itemx --force
Force backup even if today's log file already exists.
-@item -v@var{level}
+@item -v[@var{level}]
@itemx --verbose[=@var{level}]
Set verbosity level. The higher the level is, the more debugging
information will be output during execution. Devault @var{level}
To restore files that were archived using a scripted backup, use the
@code{restore} script. Its usage is quite straightforward. In the
-simplest form, invoke @command{restore} without options, it will
+simplest form, invoke @code{restore --all}, it will
then restore all the filesystems and files specified in
@file{backup-specs} (@pxref{General-Purpose Variables,BACKUP_DIRS}).
The full list of options accepted by @code{restore} follows:
@table @option
+@item -a
+@itemx --all
+Restore all filesystems and files specified in @file{backup-specs}
+
@item -l @var{level}
@itemx --level=@var{level}
Start restoring from the given backup level, instead of the default 0.
-@item -v@var{level}
+@item -v[@var{level}]
@itemx --verbose[=@var{level}]
Set verbosity level. The higher the level is, the more debugging
information will be output during execution. Devault @var{level}
@table @option
@item --anchored
@itemx --no-anchored
-If anchored (the default), a pattern must match an initial subsequence
-of the name's components. Otherwise, the pattern can match any subsequence.
+If anchored, a pattern must match an initial subsequence
+of the name's components. Otherwise, the pattern can match any
+subsequence. Default is @option{--no-anchored}.
@item --ignore-case
@itemx --no-ignore-case
the original current working directory of @command{tar}, due to a previous
@samp{--directory} option.
-@FIXME{dan: does this mean that you *can* use the short option form, but
-you can *not* use the long option form with --files-from? or is this
-totally screwed?}
-
When using @samp{--files-from} (@pxref{files}), you can put @samp{-C}
-options in the file list. Unfortunately, you cannot put
-@samp{--directory} options in the file list. (This interpretation can
-be disabled by using the @value{op-null} option.)
+options in the file list. Notice, however, that in this case the
+option and its argument must occupy two consecutive lines. For
+instance, the file list for the above example will be:
+
+@smallexample
+@group
+-C
+/etc
+passwd
+hosts
+-C
+/lib
+libc.a
+@end group
+@end smallexample
+
+@noindent
+To use it, you would invoke @command{tar} as follows:
+
+@smallexample
+$ @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 @value{op-directory} is disabled by
+@value{op-null} option.
@node absolute
@subsection Absolute File Names
data on the tape will be overwritten (unless it is no longer needed).
Before reading an archive, you should make sure the tape head is at
the beginning of the archive you want to read. (The @code{restore}
-script will find the archive automatically. @FIXME{There is no such
-restore script!}@FIXME-xref{Scripted Restoration}@xref{mt}, for
+script will find the archive automatically. @FIXME-xref{Scripted Restoration}@xref{mt}, for
an explanation of the tape moving utility.
If you want to add new archive file entries to a tape, you should