[Top] [Contents] [Index] [ ? ]



This is only accidentally true, but not in general. Whereas modification times are always restored, in most cases, one has to be root for restoring the owner, and use a special option for restoring permissions. Here, it just happens that the restoring user is also the owner of the archived members, and that the current umask is compatible with original permissions.


For example, ‘--file’ (‘-f’) takes the name of an archive file as an argument. If you do not supply an archive file name, tar will use a default, but this can be confusing; thus, we recommend that you always supply a specific archive file name.


Clustering many options, the last of which has an argument, is a rather opaque way to write options. Some wonder if GNU getopt should not even be made helpful enough for considering such usages as invalid.


Before GNU tar version 1.11.6, a bug prevented intermixing old style options with long options in some cases.


Earlier versions of GNU tar understood ‘-l’ as a synonym for ‘--one-file-system’. The current semantics, which complies to UNIX98, was introduced with version 1.15.91. See section Changes, for more information.


The ‘--recursion’ option is the default and is used here for clarity. The same example can be written as:

tar -cf a.tar /usr --no-recursion /var/*


There are plans to merge the cpio and tar packages into a single one which would be called paxutils. So, who knows, one of these days ‘--version’ might output ‘tar (GNU paxutils) 3.2’.


This is actually a shortcut for ‘--checkpoint=n --checkpoint-action=dot’. See section dot.


This is well described in Unix-haters Handbook, by Simson Garfinkel, Daniel Weise & Steven Strassmann, IDG Books, ISBN 1-56884-203-1.


Unless you give it ‘--keep-old-files’ (or ‘--skip-old-files’) option, or the disk copy is newer than the one in the archive and you invoke tar with ‘--keep-newer-files’ option.


This can cause multiple members to have the same name. For information on how this affects reading the archive, see Multiple Members with the Same Name.


Notice, that since both archives were created without ‘-P’ option (see section Absolute File Names), these commands should be run from the root file system.


Two ‘--verbose’ options were selected to avoid breaking usual verbose listing output (‘--list --verbose’) when using in scripts.

Versions of GNU tar up to 1.15.1 used to dump verbatim binary contents of the DUMPDIR header (with terminating nulls) when ‘--incremental’ or ‘--listed-incremental’ option was given, no matter what the verbosity level. This behavior, and, especially, the binary output it produced were considered inconvenient and were changed in version 1.16.


For backward compatibility, the backup will also try to deduce the requested dump level from the name of the script itself. If the name consists of a string ‘level-’ followed by a single decimal digit, that digit is taken as the dump level number. Thus, you may create a link from backup to level-1 and then run level-1 whenever you need to create a level one dump.


A file system block is usually 512 bytes, so this amounts to 200K. Use the ‘c’ suffix to specify size in bytes. Also, when using GNU find, you can specify other size units, such as ‘k’, ‘m’, etc. See Size in GNU Findutils, for details.


Versions of GNU tar up to 1.15.1 recognized only ‘-C’ option in file lists, and only if the option and its argument occupied two consecutive lines.


According to the Bazaar docs, globbing-patterns are Korn-shell style and regular expressions are perl-style. As of GNU tar version 1.35, these are treated as shell-style globs and POSIX extended regexps. This will be fixed in future releases.


Support for perl-style regexps will appear in future releases.


Notice that earlier GNU tar versions used globbing for inclusion members, which contradicted to UNIX98 specification and was not documented. See section Changes, for more information on this and other changes.


A side effect of this is that when ‘--create’ is used with ‘--verbose’ the resulting output is not, generally speaking, the same as the one you’d get running tar --list command. This may be important if you use some scripts for comparing both outputs. See listing member and file names, for the information on how to handle this case.


It also had patent problems in the past.


To verbosely trace the decompressor selection, use the ‘--warning=decompress-program’ option (see section decompress-program).


There are plans to fix this in future releases.


See section PAX Format, Version 1.0.


Technically speaking, n is a process ID of the tar process which created the archive (see section Controlling Extended Header Keywords).


If this message is not needed, you can turn it off using the ‘--warning=no-record-size’ option.


If you run GNU tar under a different locale, the translation to the locale’s language will be used.


See --restrict, for more information about this option.


Until version 1.10, that option was called ‘--volume’, but is not available under that name anymore.


Note that GNU tar versions up to 1.23 indicated mismatch with an exit code 2 and printed a spurious diagnostics on stderr.


Previous versions of tar used full regular expression matching, or before that, only exact string matching, instead of wildcard matchers. We decided for the sake of simplicity to use a uniform matching device through tar.


The original version of the script can be seen at http://lists.gnu.org/archive/html/bug-tar/2016-11/msg00024.html

[Top] [Contents] [Index] [ ? ]

This document was generated on August 23, 2023 using texi2html 5.0.