Next: Common Problems and Solutions, Previous: Device, Up: Media [Contents][Index]

### 9.2 Remote Tape Server

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.

A copy of the source for the remote tape server is provided. Its source code can be freely distributed. It is compiled and installed by default.

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 `MTIOCTOP` `ioctl`).

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.

Next: Common Problems and Solutions, Previous: Device, Up: Media [Contents][Index]