--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).
@FIXME{note: the above parenthetical added because in fact, this behavior just confused the author. :-) }
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 section Tapes and Other Archive 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 section Performing Backups and Restoring Files.
Go to the first, previous, next, last section, table of contents.