Up: update [Contents][Index]

#### 4.2.3.1 How to Update an Archive Using `--update`

You must use file name arguments with the `--update` (`-u`) operation. If you don’t specify any files, `tar` won’t act on any files and won’t tell you that it didn’t do anything (which may end up confusing you).

To see the `--update` option at work, create a new file, `classical`, in your practice directory, and some extra text to the file `blues`, using any text editor. Then invoke `tar` with the ‘`update`’ operation and the `--verbose` (`-v`) option specified, using the names of all the files in the `practice` directory as file name arguments:

    $ tar --update -v -f collection.tar blues folk rock classical
    blues
    classical
    $

Because we have specified verbose mode, `tar` prints out the names of the files it is working on, which in this case are the names of the files that needed to be updated. If you run ‘`tar --list`’ and look at the archive, you will see `blues` and `classical` at its end. There will be a total of two versions of the member ‘`blues`’; the one at the end will be newer and larger, since you added text before updating it.

The reason `tar` does not overwrite the older file when updating it is because writing to the middle of a section of tape is a difficult process. Tapes are not designed to go backward. See Media, for more information about tapes.

`--update` (`-u`) is not suitable for performing backups for two reasons: it does not change directory content entries, and it lengthens the archive every time it is used. The GNU `tar` options intended specifically for backups are more efficient. If you need to run backups, please consult Backups.

Up: update [Contents][Index]