In order to access the tape drive on a remote machine, tar
uses the remote tape server written at the University of California at
Berkeley. The remote tape server must be installed as
prefix/libexec/rmt on any machine whose tape drive you
want to use. tar calls rmt by running an
rsh or remsh to the remote machine, optionally
using a different login name if one is supplied.
Unless you use the --absolute-names (-P) option,
GNU tar will not allow you to create an archive that contains
absolute file names (a file name beginning with ‘/’.) If you try,
tar will automatically remove the leading ‘/’ from the
file names it stores in the archive. It will also type a warning
message telling you what it is doing.
When reading an archive that was created with a different
tar program, GNU tar automatically
extracts entries in the archive which have absolute file names as if
the file names were not absolute. This is an important feature. A
visitor here once gave a tar tape to an operator to restore;
the operator used Sun tar instead of GNU tar,
and the result was that it replaced large portions of
our /bin and friends with versions from the tape; needless to
say, we were unhappy about having to recover the file system from
backup tapes.
For example, if the archive contained a file /usr/bin/computoy,
GNU tar would extract the file to usr/bin/computoy,
relative to the current directory. If you want to extract the files in
an archive to the same absolute names that they had when the archive
was created, you should do a ‘cd /’ before extracting the files
from the archive, or you should either use the --absolute-names
option, or use the command ‘tar -C / ...’.
Some versions of Unix (Ultrix 3.1 is known to have this problem),
can claim that a short write near the end of a tape succeeded,
when it actually failed. This will result in the -M option not
working correctly. The best workaround at the moment is to use a
significantly larger blocking factor than the default 20.
In order to update an archive, tar must be able to backspace the
archive in order to reread or rewrite a record that was just read (or
written). This is currently possible only on two kinds of files: normal
disk files (or any other file that can be backspaced with ‘lseek’),
and industry-standard 9-track magnetic tape (or any other kind of tape
that can be backspaced with the MTIOCTOPioctl.
This means that the --append, --concatenate, and
--delete commands will not work on any other kind of file.
Some media simply cannot be backspaced, which means these commands and
options will never be able to work on them. These non-backspacing
media include pipes and cartridge tape drives.
Some other media can be backspaced, and tar will work on them
once tar is modified to do so.
Archives created with the --multi-volume, --label, and
--incremental (-G) options may not be readable by other version
of tar. In particular, restoring a file that was split over
a volume boundary will require some careful work with dd, if
it can be done at all. Other versions of tar may also create
an empty file whose name is that of the volume header. Some versions
of tar may create normal files instead of directories archived
with the --incremental (-G) option.
Published under the terms of the GNU General Public License