]> Dogcows Code - chaz/tar/blob - NEWS
Fix docs.
[chaz/tar] / NEWS
1 GNU tar NEWS - User visible changes. 2014-02-10
2 Please send GNU tar bug reports to <bug-tar@gnu.org>
3
4 \f
5 version 1.27.90 (Git)
6
7 * New checkpoint action: totals
8
9 The --checkpoint-action=totals option instructs tar to output the
10 total number of bytes transferred at each checkpoint.
11
12 * Extended checkpoint format specification.
13
14 New conversion specifiers are implemented. Some of them take
15 optional arguments, supplied in curly braces between the percent
16 sign and the specifier letter.
17
18 %d - Number of seconds since tar started.
19 %{r,w,d}T - I/O totals; optional arguments supply prefixes
20 to be used before number of bytes read, written and
21 deleted, correspondingly.
22 %{FMT}t - Current local time using FMT as strftime(3) format.
23 If {FMT} is omitted, use %c.
24 %{N}* - Pad output with spaces to the Nth column, or to the
25 current screen width, if {N} is not given.
26 %c - A shortcut for "%{%Y-%m-%d %H:%M:%S}t: %ds, %{read,wrote}T%*\r"
27
28 * New option --one-top-level
29
30 The option --one-top-level tells tar to extract all files into a
31 subdirectory named by the base name of the archive (minus standard
32 compression suffixes recognizable by --auto-compress). When used with
33 an argument, as in --one-top-level=DIR, the files are extracted into the
34 supplied DIRectory. This ensures that no archive members are
35 extracted outside of the specified directory, even if the archive is
36 crafted so as to put them elsewhere.
37
38 * Manpages
39
40 This release includes official tar(1) and rmt(8) manpages.
41 Distribution maintainers are kindly asked to use these instead of the
42 home-made pages they provided so far.
43
44 \f
45 version 1.27.1 - Sergey Poznyakoff, 2013-11-17
46
47 * Bug fixes
48
49 * Fix unquoting of file names obtained via the -T option.
50
51 * Fix GNU long link header timestamp (backward compatibility).
52
53 * Fix extracting sparse members from star archives.
54
55 * The --one-top-level option.
56
57 This new command line option tells tar that the working directory
58 (or the one passed to -C) should not be populated with more than one
59 name directly under it. Instead, a newly created subdirectory is
60 used whose name is equal to the archive name without the extension.
61 For example, foo.tar.gz would be extracted to foo.
62
63 \f
64 version 1.27 - Sergey Poznyakoff, 2013-10-05
65
66 * Bug fixes
67
68 ** Sparse files with large data
69
70 When creating a PAX-format archive, tar no longer arbitrarily restricts
71 the size of the representation of a sparse file to be less than 8 GiB.
72
73 * Quoting
74
75 In the default C locale, diagnostics and output of 'tar' have been
76 adjusted to quote 'like this' (with apostrophes) instead of `like this'
77 (with an accent grave character and an apostrophe). This tracks
78 recent changes to the GNU coding standards.
79
80 * --owner and --group names and numbers
81
82 The --owner and --group options now accept operands of the form
83 NAME:NUM, so that you can specify both symbolic name and numeric ID
84 for owner and group. In these options, NAME no longer needs to be
85 present in the current host's user and group databases.
86
87 * The --keep-old-files and --skip-old-files options.
88
89 This release restores the traditional functionality of the
90 --keep-old-files. This option causes tar to avoid replacing
91 existing files while extracting and to treat such files as errors.
92 Tar will emit a prominent error message upon encountering such files
93 and will exit with code 2 when finished extracting the archive.
94
95 A new option --skip-old-files is introduced, which acts exactly as
96 --keep-old-files, except that it does not treat existing files as
97 errors. Instead it just silently skips them. An additional level of
98 verbosity can be obtained by using the option --warning=existing-file
99 together with this option.
100
101 * Support for POSIX ACLs, extended attributes and SELinux context.
102
103 Starting with this version tar is able to store, extract and list
104 extended file attributes, POSIX.1e ACLs and SELinux context. This is
105 controlled by the command line options --xattrs, --acls and --selinux,
106 correspondingly. Each of these options has a `--no-' counterpart
107 (e.g. --no-xattrs), which disables the corresponding feature.
108 Additionally, the options --xattrs-include and --xattrs-exclude allow
109 you to selectively control for which files to store (or extract) the
110 extended attributes.
111
112 * Passing command line arguments to external commands.
113
114 Any option taking a command name as its argument now accepts a full
115 command line as well. Thus, it is now possible to pass additional
116 arguments to invoked programs. The affected options are:
117
118 --checkpoint-action=exec
119 -I, --use-compress-program
120 -F, --info-script
121 --to-command
122
123 Furthermore, if any additional information is supplied to such a
124 command via environment variables, these variables can now be used in
125 the command line itself. Care should be taken to escape them, to
126 prevent from being expanded too early, for example:
127
128 tar -x -f a.tar --info-script='changevol $TAR_ARCHIVE $TAR_VOLUME'
129
130 * New configure option --enable-gcc-warnings, intended for debugging.
131
132 * New warning control option --warning=[no-]record-size
133
134 On extraction, this option controls whether to display actual record
135 size, if it differs from the default.
136
137 * New command line option --keep-directory-symlink
138
139 By default, if trying to extract a directory from the archive,
140 tar discovers that the corresponding file name already exists and is a
141 symbolic link, it first unlinks the entry, and then extracts the directory.
142
143 This option disables this behavior and instructs tar to follow
144 symlinks to directories when extracting from the archive.
145
146 It is mainly intended to provide compatibility with the Slackware
147 installation scripts.
148
149 \f
150 version 1.26 - Sergey Poznyakoff, 2011-03-12
151
152 * Bugfixes
153
154 ** Fix the --verify option, which broke in version 1.24.
155
156 ** Fix storing long sparse file names in PAX archives.
157
158 ** Fix correctness of --atime-preserve=replace
159
160 tar --atime-preserve=replace no longer tries to restore atime of
161 zero-sized files.
162
163 ** Work around POSIX incompatibilities on FreeBSD, NetBSD and Tru64
164
165 ** Fix bug with --one-file-system --listed-incremental
166
167 When invoked with these two options, tar 1.25 would add only the
168 top-level directory to the archive, but not its contents.
169
170 \f
171 version 1.25 - Sergey Poznyakoff, 2010-11-07
172
173 * Fix extraction of empty directories with the -C option in effect.
174 * Fix extraction of device nodes.
175 * Make sure name matching occurs before eventual name transformation.
176
177 Tar 1.24 changed the ordering of name matching and name transformation
178 so that the former saw already transformed file names. This made it
179 impossible to match file names in certain cases. It is fixed now.
180
181 * Fix the behavior of tar -x --overwrite on hosts lacking O_NOFOLLOW.
182
183 * Improve the testsuite.
184
185 * Alternative decompression programs.
186
187 If extraction from a compressed archive fails because the corresponding
188 compression program is not installed and the following two conditions
189 are met, tar retries extraction using an alternative decompressor:
190
191 1. Another compression program supported by tar is able to handle this
192 compression format.
193 2. The compression program was not explicitly requested in the command
194 line by the use of such options as -z, -j, etc.
195
196 For example, if 'compress' is not available, tar will try 'gzip'.
197
198 \f
199 version 1.24 - Sergey Poznyakoff, 2010-10-24
200
201 * The --full-time option.
202
203 New command line option '--full-time' instructs tar to output file
204 time stamps to the full resolution.
205
206 * Bugfixes.
207
208 ** More reliable directory traversal when creating archives
209
210 Tar now checks for inconsistencies caused when a file system is
211 modified while tar is creating an archive. In the new approach, tar
212 maintains a cache of file descriptors to directories, so it uses more
213 file descriptors than before, but it adjusts to system limits on
214 the number of file descriptors. Tar also takes more care when
215 a file system is modified while tar is extracting from an archive.
216
217 The new checks are implemented via the openat and related calls
218 standardized by POSIX.1-2008. On an older system where these calls do
219 not exist or do not return useful results, tar emulates the calls at
220 some cost in efficiency and reliability.
221
222 ** Symbolic link attributes
223
224 When extracting symbolic links, tar now restores attributes such as
225 last-modified time and link permissions, if the operating system
226 supports this. For example, recent versions of the Linux kernel
227 support setting times on symlinks, and some BSD kernels also support
228 symlink permissions.
229
230 ** --dereference consistency
231
232 The --dereference (-h) option now applies to files that are copied
233 into or out of archives, independently of other options. For example,
234 if F is a symbolic link and archive.tar contains a regular-file member
235 also named F, "tar --overwrite -x -f archive.tar F" now overwrites F
236 itself, rather than the file that F points to. (To overwrite the file
237 that F points to, add the --dereference (-h) option.) Formerly,
238 --dereference was intended to apply only when using the -c option, but
239 the implementation was not consistent.
240
241 Also, the --dereference option no longer affects accesses to other
242 files, such as archives and time stamp files. Symbolic links to these
243 files are always followed. Previously, the links were usually but not
244 always followed.
245
246 ** Spurious error diagnostics on broken pipe.
247
248 When receiving SIGPIPE, tar would exit with error status and
249 "write error" diagnostics. In particular, this occurred if
250 invoked as in the example below:
251
252 tar tf archive.tar | head -n 1
253
254 ** --remove-files
255
256 'tar --remove-files' failed to remove a directory which contained
257 symlinks to another files within that directory.
258
259 ** --test-label behavior
260
261 In case of a mismatch, 'tar --test-label LABEL' exits with code 1,
262 not 2 as it did in previous versions.
263
264 The '--verbose' option used with '--test-label' provides additional
265 diagnostics.
266
267 Several volume labels may be specified in a command line, e.g.:
268
269 tar --test-label -f archive 'My volume' 'New volume' 'Test volume'
270
271 In this case, tar exits with code 0 if any one of the arguments
272 matches the actual volume label.
273
274 ** --label used with --update
275
276 The '--label' option can be used with '--update' to prevent accidental
277 update of an archive:
278
279 tar -rf archive --label 'My volume' .
280
281 This did not work in previous versions, in spite of what the docs said.
282
283 ** --record-size and --tape-length (-L) options
284
285 Usual size suffixes are allowed for these options. For example,
286 -L10k stands for a 10 kilobyte tape length.
287
288 ** Fix dead loop on extracting existing symlinks with the -k option.
289
290 \f
291 version 1.23 - Sergey Poznyakoff, 2010-03-10
292
293 * Record size autodetection
294
295 When listing or extracting archives, the actual record size is
296 reported only if the archive is read from a device (as opposed
297 to regular files and pipes).
298
299 * Seekable archives
300
301 When a read-only operation (e.g. --list or --extract) is requested
302 on a regular file, tar attemtps to speed up accesses by using lseek.
303
304 * New command line option '--warning'
305
306 The '--warning' command line option allows to suppress or enable
307 particular warning messages during 'tar' run. It takes a single
308 argument (a 'keyword'), identifying the class of warning messages
309 to affect. If the argument is prefixed with 'no-', such warning
310 messages are suppressed. For example,
311
312 tar --warning=no-alone-zero-block -x -f archive
313
314 suppresses the output of "A lone zero block" diagnostics, which is
315 normally issued if 'archive' ends with a single block of zeros.
316
317 See Tar Manual, section 3.9 "Controlling Warning Messages", for a
318 detailed discussion.
319
320 * New command line option '--level'
321
322 The '--level=N' option sets the incremental dump level N. It
323 is valid when used in conjunction with the -c and --listed-incremental
324 options. So far the only meaningful value for N is 0. The
325 '--level=0' option forces creating the level 0 dump, by truncating
326 the snapshot file if it exists.
327
328 * Files removed during incremental dumps
329
330 If a file or directory is removed while incremental dump is
331 in progress, tar exact actions depend on whether this file
332 was explicitly listed in the command line, or was found
333 during file system scan.
334
335 If the file was explicitly listed in the command line, tar
336 issues error message and exits with the code 2, meaning
337 fatal error.
338
339 Otherwise, if the file was found during the file system scan,
340 tar issues a warning, saying "File removed before we read it",
341 and sets exit code to 1, which means "some files differ".
342 If the --warning=no-file-removed option is given, no warning
343 is issued and exit code remains 0.
344
345 * Modification times of PAX extended headers.
346
347 Modification times in ustar header blocks of extended headers
348 are set to mtimes of the corresponding archive members. This
349 can be overridden by the
350
351 --pax-opion='exthdr.mtime=STRING'
352
353 command line option. The STRING is either number of seconds since
354 the Epoch or a "Time reference" (see below).
355
356 Modification times in ustar header blocks of global extended
357 headers are set to the time when tar was invoked.
358
359 This can be overridden by the
360
361 --pax-opion='globexthdr.mtime=STRING'
362
363 command line option. The STRING is either number of seconds since
364 the Epoch or a "Time reference" (see below).
365
366 * Time references in --pax-option argument.
367
368 Any value from the --pax-option argument that is enclosed in a pair
369 of curly braces represents a time reference. The string between the
370 braces is understood either as a textual time representation, as described in
371 chapter 7, "Date input formats", of the Tar manual, or as a name of
372 an existing file, starting with '/' or '.'. In the latter
373 case, it is replaced with the modification time of that file.
374
375 * Environment of --to-command script.
376
377 The environment passed to the --to-command script is extended with
378 the following variables:
379
380 TAR_VERSION GNU tar version number
381 TAR_ARCHIVE The name of the archive
382 TAR_VOLUME Ordinal number of the volume
383 TAR_FORMAT Format of the archive
384 TAR_BLOCKING_FACTOR Current blocking factor
385
386 * Bugfixes
387 ** Fix handling of hard link targets by -c --transform.
388 ** Fix hard links recognition with -c --remove-files.
389 ** Fix restoring files from backup (debian bug #508199).
390 ** Correctly restore modes and permissions on existing directories.
391 ** The --remove-files option removes files only if they were
392 succesfully stored in the archive.
393 ** Fix storing and listing of the volume labels in POSIX format.
394 ** Improve algorithm for splitting long file names (ustar
395 format).
396 ** Fix possible memory overflow in the rmt client code (CVE-2010-0624).
397
398 \f
399 version 1.22 - Sergey Poznyakoff, 2009-03-05
400
401 * Support for xz compression
402
403 Tar uses xz for compression if one of the following conditions is met:
404
405 1. The option --xz or -J (see below) is used.
406 2. The xz binary is set as compressor using --use-compress-program option.
407 3. The file name of the archive being created ends in '.xz' and
408 auto-compress option (-a) is used.
409
410 Xz is used for decompression if one of the following conditions is met:
411
412 1. The option --xz or -J is used.
413 2. The xz binary is set as compressor using --use-compress-program option.
414 3. The file is recognized as xz compressed stream data.
415
416 * Short option -J reassigned as a short equivalent of --xz
417
418 * New option -I
419
420 The -I option is assigned as a short equivalent for
421 --use-compress-program.
422
423 * The --no-recursive option works in incremental mode.
424
425 \f
426 version 1.21 - Sergey Poznyakoff, 2008-12-27
427
428 * New short option -J
429
430 A shortcut for --lzma.
431
432 * New option --lzop
433
434 * New option --no-auto-compress
435
436 Cancels the effect of previous --auto-compress (-a) option.
437
438 * New option --no-null
439
440 Cancels the effect of previous --null option.
441
442 * Compressed format recognition
443
444 If tar is unable to determine archive compression format, it falls
445 back to using archive suffix to determine it.
446
447 * VCS support.
448
449 Using --exclude-vcs handles also files used internally by Bazaar,
450 Mercurial and Darcs.
451
452 * Transformation scope flags
453
454 Name transformation expressions understand additional flags that
455 control type of archive members affected by them. The flags are:
456
457 - r
458 Apply transformation to regular archive members.
459
460 - s
461 Apply transformation to symbolic link targets.
462
463 - h
464 Apply transformation to hard link targets.
465
466 Corresponding upper-case letters negate the meaning, so that
467 'H' means "do not apply transformation to hard link targets".
468
469 The scope flags are listed in the third part of an 's' expression,
470 e.g.:
471
472 tar --transform 's|^|/usr/local/|S'
473
474 Default is 'rsh', which means that transformations are applied to
475 both regular archive members and to the targets of symbolic and hard
476 links. If several transform expressions are used, the default flags
477 can be changed using 'flags=' statement before the expressions, e.g.:
478
479 tar --transform 'flags=S;s|^|/usr/local/|S'
480
481 * Bugfixes
482
483 ** The --null option disabled handling of tar options in list files. This
484 is fixed.
485 ** Fixed record size autodetection. If the detected record size differs from
486 the expected value (either default one, or the one set from the
487 command line), tar always prints a warning if verbosity level is set
488 to 1 or greater, i.e. if either -t or -v option is given.
489
490 \f
491
492 version 1.20 - Sergey Poznyakoff, 2008-04-14
493
494 * New option --auto-compress (-a)
495
496 With --create, selects compression algorithm basing on the suffix
497 of the archive file name.
498
499 * New option --lzma
500
501 Selects LZMA compression algorithm
502
503 * New option --hard-dereference
504
505 During archive creation, dereferences hard links and stores the files
506 they refer to, instead of creating usual hard link members (type '1').
507
508 * New option --checkpoint-action
509
510 This action allows to specify an action to be executed upon hitting a
511 checkpoint. Recognized actions are: dot, echo (the default),
512 echo=string, ttyout=string, exec=cmdline, and sleep=value. Any number
513 of '--checkpoint-action' options can be specified, the actions will be
514 executed in order of their appearance in the command line. See
515 chapter 3.8 "Checkpoints" for a complete description.
516
517 * New options --no-check-device, --check-device.
518
519 The '--no-check-device' option disables comparing device numbers during
520 preparatory stage of an incremental dump. This allows to avoid
521 creating full dumps if the device numbers change (e.g. when using an
522 LVM snapshot).
523
524 The '--check-device' option enables comparing device numbers. This is
525 the default. This option is provided to undo the effect of the previous
526 '--no-check-device' option, e.g. if it was set in TAR_OPTIONS
527 environment variable.
528
529 * The --transform option.
530
531 Any number of '--transform' options can be given in the command line.
532 The specified transformations will be applied in turn.
533
534 The argument to '--transform' option can be a list of replace
535 expressions, separated by a semicolon (as in 'sed').
536
537 Filename transformations are applied to symbolic link targets
538 during both creation and extraction. Tar 1.19 used them only
539 during extraction.
540
541 For a detailed description, see chapter 6.7 "Modifying File and Member
542 Names".
543
544 * Info (end-of-volume) scripts
545
546 The value of the blocking factor is made available to info and
547 checkpoint scripts via environment variable TAR_BLOCKING_FACTOR.
548
549 * Incremental archives
550
551 Improved (sped up) extracting from incremental archives.
552
553 * Bugfixes.
554 ** Fix bug introduced in version 1.19: tar refused to update non-existing
555 archives.
556
557 \f
558 version 1.19 - Sergey Poznyakoff, 2007-10-10
559
560 * New option --exclude-vcs
561
562 Excludes directories and files, created by several widely used version
563 control systems, e.g. "CVS/", ".svn/", etc.
564
565 * --exclude-tag and --exclude-cache options
566
567 The following options now work with incremental archives as well:
568
569 --exclude-caches
570 --exclude-caches-all
571 --exclude-tag
572 --exclude-tag-all
573 --exclude-tag-under
574
575 * Fix handling of renamed files in listed incremental archives.
576
577 Previous versions always stored absolute file names in rename
578 records, even if -P was not used. This is fixed: rename records
579 contain file names processed in accordance with the command line
580 settings.
581
582 * Fix --version output.
583
584 * Recognition of broken archives.
585
586 When supplied an archive smaller than 512 bytes in reading mode (-x,
587 -t), the previous version of tar silently ignored it, exiting with
588 code 0. It is fixed. Tar now issues the following diagnostic message:
589 'This does not look like a tar archive', and exits with code 2.
590
591 * Fix double-dot recognition in archive member names in case of duplicate '/.'.
592
593 * Fix file padding in case of truncation of the input file to zero size.
594
595 \f
596 version 1.18 - Sergey Poznyakoff, 2007-06-29
597
598 * Licensed under the GPLv3
599
600 * Fixed several bugs in the testsuite
601
602 \f
603 version 1.17 - Sergey Poznyakoff, 2007-06-08
604
605 * Fix archivation of sparse files in posix mode. Previous versions padded
606 sparse members with spurious zero blocks.
607
608 * Fix operation of --verify --listed-incremental. Version 1.16.1 produced
609 a full dump when both options were given.
610
611 * Fix --occurrence. In previous versions it continued scanning the archive
612 even though all requested members has already been extracted.
613
614 * Scope of --transform and --strip-components options.
615
616 In addition to affecting regular archive members, the --transform
617 option affects hard and soft link targets and the --strip-components
618 option affects hard link targets as well.
619
620 * End-of-volume script can send the new volume name to tar by writing
621 it to the file descriptor stored in the environment variable TAR_FD.
622
623 \f
624 version 1.16.1 - Sergey Poznyakoff, 2006-12-09
625
626 * New option --exclude-tag allows to specify "exclusion tag files", i.e.
627 files whose presence in a directory means that the directory should not
628 be archived.
629
630 * The --exclude-cache option excludes directories that contain the
631 CACHEDIR.TAG file from being archived. Previous versions excluded
632 directory contents only, while the directories themselves were
633 still added to the archive.
634
635 * Support for reading ustar type 'N' header logical records has been removed.
636 This GNU extension was generated only by very old versions of GNU 'tar'.
637 Unfortunately its implementation had security holes; see
638 <http://archives.neohapsis.com/archives/fulldisclosure/2006-11/0344.html>.
639 We don't expect that any tar archives in practical use have type 'N'
640 records, but if you have one and you trust its contents, you can
641 decode it with GNU tar 1.16 or earlier.
642
643 * Race conditions have been fixed that in some cases briefly allowed
644 files extracted by 'tar -x --same-owner' (or plain 'tar -x', when
645 running as root) to be accessed by users that they shouldn't have been.
646
647 \f
648 version 1.16 - Sergey Poznyakoff, 2006-10-21
649
650 * After creating an archive, tar exits with code 1 if some files were
651 changed while being read. Previous versions exited with code 2 (fatal
652 error), and only if some files were truncated while being archived.
653
654 * New option --mtime allows to set modification times for all archive
655 members during creation.
656
657 * Bug fixes
658 ** Avoid running off file descriptors when using multiple -C options.
659 ** tar --index-file=FILE --file=- sent the archive to FILE, and
660 the listing to stderr.
661
662 \f
663 version 1.15.91 - Sergey Poznyakoff, 2006-06-16
664
665 * Incompatible changes
666
667 ** Globbing
668
669 Previous versions of GNU tar assumed shell-style globbing when
670 extracting from or listing an archive. For example:
671
672 tar xf foo.tar '*.c'
673
674 would extract all files whose names end in '.c'. This behavior
675 was not documented and was incompatible with traditional tar
676 implementations. Therefore, starting from this version, GNU tar
677 no longer uses globbing by default. For example, the above invocation
678 is now interpreted as a request to extract from the archive the file
679 named '*.c'.
680
681 To treat member names as globbing patterns, use --wildcards option.
682 If you wish tar to mimic the behavior of versions up to 1.15.90,
683 add --wildcards to the value of the environment variable TAR_OPTIONS.
684
685 The exact way in which tar interprets member names is controlled by the
686 following command line options:
687
688 --wildcards use wildcards
689 --anchored patterns match file name start
690 --ignore-case ignore case
691 --wildcards-match-slash wildcards match '/'
692
693 Each of these options has a '--no-' counterpart that disables its
694 effect (e.g. --no-wildcards).
695
696 These options affect both the interpretation of member names from
697 command line and that of the exclusion patterns (given with --exclude
698 and --exclude-from options). The defaults are:
699
700 1. For member names: --no-wildcards --anchored
701 2. For exclusion patterns: --wildcards --no-anchored --wildcards-match-slash
702
703 The options can appear multiple times in the command line, thereby
704 changing the way command line arguments are interpreted. For example,
705 to use case-insensitive matching in exclude patterns and to revert to
706 case-sensitive matching for the rest of command line, one could write:
707
708 tar xf foo.tar --ignore-case --exclude-from=FILE --no-ignore-case file.name
709
710 ** Short option -l is now an alias of --check-links option, which complies
711 with UNIX98. This ends the transition period started with version 1.14.
712
713 * New features
714
715 ** New option --transform allows to transform file names before storing them
716 in the archive or member names before extracting. The option takes a
717 sed replace expression as its argument. For example,
718
719 tar cf foo.tar --transform 's,^,prefix/,'
720
721 will add 'prefix/' to all file names stored in foo.tar.
722
723 ** --strip-components option works when deleting and comparing. In previous
724 versions it worked only with --extract.
725
726 ** New option --show-transformed-names enables display of transformed file
727 or archive. It generalizes --show-stored-names option, introduced in
728 1.15.90. In particular, when creating an archive in verbose mode, it lists
729 member names as stored in the archive, i.e., with any eventual prefixes
730 removed and file name transformations applied. The option is useful,
731 for example, while comparing 'tar cv' and 'tar tv' outputs.
732
733 ** New incremental snapshot file format keeps information about file names
734 as well as that about directories.
735
736 ** The --checkpoint option takes an optional argument specifying the number
737 of records between the two successive checkpoints. Optional dot
738 starting the argument intructs tar to print dots instead of textual
739 checkpoints.
740
741 ** The --totals option can be used with any tar operation (previous versions
742 understood it only with --create). If an argument to this option is
743 given, it specifies the signal upon delivery of which the statistics
744 is to be printed. Both forms of this option (with and without
745 argument) can be given to in a single invocation of tar.
746
747 * Bug fixes
748 ** Detect attempts to update compressed archives.
749
750 \f
751 version 1.15.90 - Sergey Poznyakoff, 2006-02-19
752
753 * New features
754
755 ** Any number of -T (--files-from) options may be used in the command line.
756 The file specified with -T may include any valid 'tar' options,
757 including another -T option.
758 Compatibility note: older versions of tar would only recognize -C
759 as an option name within the file list file. Now any file whose name
760 starts with - is handled as an option. To insert file names starting with
761 dash, use the --add-file option.
762
763 ** List files containing null-separated file names are detected and processed
764 automatically. It is no longer necessary to give the --null option.
765
766 ** New option --no-unquote disables the unquoting of input file names.
767 This is useful for processing output from 'find dir -print0'.
768 An orthogonal option --unquote is provided as well.
769
770 ** New option --test-label tests the archive volume label.
771 If an argument is specified, the label is compared against its value.
772 Tar exits with code 0 if the two strings match, and with code 2 if
773 they do not.
774
775 If no argument is given, the --verbose option is implied. In this case,
776 tar prints the label name if present and exits with code 0.
777
778 ** New option --show-stored-names. When creating an archive in verbose mode,
779 it lists member names as stored in the archive, i.e., with any eventual
780 prefixes removed. The option is useful, for example, while comparing
781 'tar cv' and 'tar tv' outputs.
782
783 ** New option --to-command pipes the contents of archive members to the
784 specified command.
785
786 ** New option --atime-preserve=system, which uses the O_NOATIME feature
787 of recent Linux kernels to avoid some problems when preserving file
788 access times.
789
790 ** New option --delay-directory-restore delays restoring modification times
791 and permissions of extracted directories until the end of extraction.
792 This is necessary for restoring from archives with unusual member
793 ordering (in particular, those created with --no-recursion option).
794 This option is implied when restoring from incremental archives.
795
796 ** New option --restrict prohibits use of some potentially harmful tar
797 options. Currently it disables '!' escape in multi-volume name menu.
798
799 ** New options --quoting-style and --quote-chars control the way tar
800 quotes member names on output. The --quoting-style takes an argument
801 specifying the quoting style to use (literal, shell, shell-always,
802 c, escape, locale, clocale). The argument to --quote-chars is a string
803 specifying characters to quote, even if the selected quoting style
804 would not quote them otherwise. The option --no-quote-chars is
805 provided to disable quoting certain characters.
806
807 ** The end-of-volume script (introduced with --info-script option) can
808 get current archive name from the environment variable TAR_ARCHIVE and
809 the volume number from the variable TAR_VOLUME. It can alter the
810 archive name by writing new name to the file descriptor 3.
811
812 ** Better support for full-resolution time stamps. Tar cannot restore
813 time stamps to full nanosecond resolution, though, until the kernel
814 guys get their act together and give us a system call to set file time
815 stamps to nanosecond resolution.
816
817 ** The -v option now prints time stamps only to 1-minute resolution,
818 not full resolution, to avoid using up too many output columns.
819 Nanosecond resolution is now supported, but that would be too much.
820
821 * Bug fixes
822
823 ** Allow non-option arguments to be interspersed with options.
824 ** When extracting or listing archives in old GNU format, tar
825 used to read an extra block of data after a long name header
826 if length of the member name was divisible by block size (512).
827 Consequently, the file pointer was set off and the next member
828 was not processed correctly.
829 ** Previous version created invalid archives when files shrink
830 during reading.
831 ** Compare mode (tar d) hung when trying to compare file contents.
832 ** Previous versions in certain cases failed to restore directory
833 modification times.
834 ** When creating an archive, do not attempt to store files whose
835 meta-data cannot be stored in the header due to format limitations
836 (for ustar and v7 formats).
837 ** The --version option now also outputs information about copyright,
838 license, and credits. This reverts to the behavior of tar 1.14 and
839 earlier, and conforms to the GNU coding standards. The --license (-L)
840 option introduced in tar 1.15 has been removed, since it's no longer
841 needed.
842
843 \f
844 version 1.15.1 - Sergey Poznyakoff, 2004-12-21
845
846 This version fixes a bug introduced in 1.15 which caused
847 tar to refuse to extract files from standard input.
848
849 \f
850 version 1.15 - Sergey Poznyakoff, 2004-12-20
851
852 * Compressed archives are recognised automatically, it is no longer
853 necessary to specify -Z, -z, or -j options to read them. Thus, you can
854 now run 'tar tf archive.tar.gz'.
855
856 * When restoring incremental dumps, --one-file-system option
857 prevents directory hierarchies residing on different devices
858 from being purged.
859
860 With the previous versions of tar it was dangerous to create
861 incremental dumps with --one-file-system option, since they
862 would recursively remove mount points when restoring from the
863 back up. This change fixes the bug.
864
865 * Renamed --strip-path to --strip-components for consistency with
866 the GNU convention.
867
868 * Skipping archive members is sped up if the archive media supports
869 seeks.
870
871 * Restore script starts restoring only if it is given --all (-a) option,
872 or some patterns. This is to prevent accidental restores.
873
874 * 'tar --verify' prints a warning if during archive creation some of
875 the file names had their prefixes stripped off.
876
877 * New option --exclude-caches instructs tar to exclude cache directories
878 automatically on archive creation. Cache directories are those
879 containing a standardized tag file, as specified at:
880
881 http://www.brynosaurus.com/cachedir/spec.html
882
883 * New configure option --with-rmt allows to specify full path name to
884 the 'rmt' utility. This supersedes DEFAULT_RMT_COMMAND variable
885 introduced in version 1.14
886
887 * New configure variable DEFAULT_RMT_DIR allows to specify the directory
888 where to install 'rmt' utility. This is necessary since modifying
889 --libexecdir as was suggested for version 1.14 produced a side effect: it
890 also modified installation prefix for backup scripts (if
891 --enable-backup-scripts was given).
892
893 * Bug fixes:
894 ** Fixed flow in recognizing files to be included in incremental dumps.
895 ** Correctly recognize sparse archive members when used with -T option.
896 ** GNU multivolume headers cannot store filenames longer than 100 characters.
897 Do not allow multivolume archives to begin with such filenames.
898 ** If a member with link count > 2 was stored in the archive twice,
899 previous versions of tar were not able to extract it, since they
900 were trying to link the file to itself, which always failed and
901 lead to removing the already extracted copy. Preserve the first
902 extracted copy in such cases.
903 ** Restore script was passing improper argument to tar --listed option (which
904 didn't affect the functionality, but was logically incorrect).
905 ** Fixed verification of created archives.
906 ** Fixed unquoting of file names containing backslash escapes (previous
907 versions failed to recognize \a and \v).
908 ** When attempting to delete a non-existing member from the archive, previous
909 versions of tar used to overwrite last archive block with zeroes.
910
911 \f
912 version 1.14 - Sergey Poznyakoff, 2004-05-11
913
914 * Added support for POSIX.1-2001 and ustar archive formats.
915 * New option --format allows to select the output archive format
916 * The default output format can be selected at configuration time
917 by presetting the environment variable DEFAULT_ARCHIVE_FORMAT.
918 Allowed values are GNU, V7, OLDGNU and POSIX.
919 * New option --strip-path allows to cut off a given number of
920 path elements from the name of the file being extracted.
921
922 * New options --index-file, --no-overwrite-dir. The --overwrite-dir
923 option is now the default; use --no-overwrite-dir if you prefer
924 the previous default behavior.
925
926 * The semantics of -o option is changed. When extracting, it
927 does the same as --no-same-owner GNU tar option. This is compatible
928 with UNIX98 tar. Otherwise, its effect is the same as that of
929 --old-archive option. This latter is deprecated and will be removed
930 in future.
931
932 * New option --check-links prints a message if not all links are dumped
933 for a file being archived. This corresponds to the UNIX98 -l option.
934 The current semantics of the -l option is retained for compatibility
935 with previous releases, however such usage is strongly deprecated as
936 the option will change to its UNIX98 semantics in the future releases.
937
938 * New option --occurrence[=N] can be used in conjunction with one of
939 the subcommands --delete, --diff, --extract or --list when a list of
940 files is given either on the command line or via -T option. This
941 option instructs tar to process only the Nth occurrence of each named
942 file. N defaults to 1, so 'tar -x -f archive --occurrence filename'
943 extracts the first occurrence of 'filename' from 'archive'
944 and terminates without scanning to the end of the archive.
945
946 * New option --pax-option allows to control the handling of POSIX
947 keywords in 'pax' extended headers. It is equivalent to 'pax'
948 -o option.
949
950 * --incremental and --listed-incremental options work correctly on
951 individual files, as well as on directories.
952
953 * New scripts: backup (replaces old level-0 and level-1) and restore.
954 The scripts are compiled and installed if --enable-backup-scripts
955 option is given to configure.
956
957 * By default tar searches "rmt" utility in "$prefix/libexec/rmt",
958 which is consistent with the location where the version of "rmt"
959 included in the package is installed. Previous versions of tar
960 used "/etc/rmt". To install "rmt" to its traditional location,
961 run configure with option --libexecdir=/etc. Otherwise, if you
962 already have rmt installed and wish to use it, instead of the
963 shipped in version, set the variable DEFAULT_RMT_COMMAND to
964 the full path name of the utility, e.g., ./configure
965 DEFAULT_RMT_COMMAND=/etc/rmt.
966
967 Notice also that the full path name of the "rmt" utility to
968 use can be set at runtime, by giving option --rmt-command to
969 tar.
970
971 * Removed obsolete command line options:
972 ** --absolute-paths superseded by --absolute-names
973 ** --block-compress is not needed any longer
974 ** --block-size superseded by --blocking-factor
975 ** --modification-time superseded by --touch
976 ** --read-full-blocks superseded by --read-full-records
977 ** --record-number superseded by --block-number
978 ** --version-control superseded by --backup
979
980 * New message translations fi (Finnish), gl (Galician), hr (Croatian),
981 hu (Hungarian), ms (Malaysian), nb (Norwegian), ro (Romanian), sk
982 (Slovak), zh_CN (Chinese simplified), zh_TW (Chinese traditional).
983 The code 'no' for Norwegian (Bokmål) has been withdrawn; use 'nb' instead.
984
985 * Bug fixes.
986
987 \f
988 version 1.13.25 - Paul Eggert, 2001-09-26
989
990 * Bug fixes.
991
992 \f
993 version 1.13.24 - Paul Eggert, 2001-09-22
994
995 * New option --overwrite-dir.
996 * Fixes for buffer overrun, porting, and copyright notice problems.
997 * The message translations for Korean are available again.
998
999 \f
1000 version 1.13.23 - Paul Eggert, 2001-09-13
1001
1002 * Bug, porting, and copyright notice fixes.
1003
1004 \f
1005 version 1.13.22 - Paul Eggert, 2001-08-29
1006
1007 * Bug fixes.
1008
1009 \f
1010 version 1.13.21 - Paul Eggert, 2001-08-28
1011
1012 * Porting and copyright notice fixes.
1013
1014 \f
1015 version 1.13.20 - Paul Eggert, 2001-08-27
1016
1017 * Some bugs were fixed:
1018 - security problems
1019 - hard links to symbolic links
1020
1021 * New option --recursion (the default) that is the inverse of --no-recursion.
1022
1023 * New options --anchored, --ignore-case, --wildcards,
1024 --wildcards-match-slash, and their negations (e.g., --no-anchored).
1025 Along with --recursion and --no-recursion, these options control how
1026 exclude patterns are interpreted.
1027
1028 * The default interpretation of exclude patterns is now --no-anchored
1029 --no-ignore-case --recursion --wildcards --wildcards-match-slash.
1030 This is a quiet change to the semantics of --exclude. The previous
1031 semantics were a failed attempt at backward compatibility but it
1032 became clear that the semantics were puzzling and did not satisfy
1033 everybody. Rather than continue to try to revive that dead horse we
1034 thought it better to substitute cleaner semantics, with options so
1035 that you can change the behavior more to your liking.
1036
1037 * New message translations for Indonesian and Turkish.
1038 The translation for Korean has been withdrawn due to encoding errors.
1039 It will be reissued once those are fixed.
1040
1041 \f
1042 version 1.13.19 - Paul Eggert, 2001-01-13
1043
1044 * The -I option has been withdrawn, as it was buggy and confusing.
1045 Eventually it is planned to be reintroduced, with the same meaning as -T.
1046
1047 * With an option like -N DATE, if DATE starts with "/" or ".", it is taken
1048 to be a file name; the last-modified time of that file is used as the date.
1049
1050 \f
1051 version 1.13.18 - Paul Eggert, 2000-10-29
1052
1053 * Some security problems have been fixed. 'tar -x' now modifies only
1054 files under the working directory, unless you also specify an unsafe
1055 option like --absolute-names or --overwrite.
1056
1057 * The short name of the --bzip option has been changed to -j,
1058 and -I is now an alias for -T, for compatibility with Solaris tar.
1059
1060 * The manual is now distributed under the GNU Free Documentation License.
1061
1062 * The new environment variable TAR_OPTIONS holds default command-line options.
1063
1064 * The --no-recursion option now affects extraction too.
1065
1066 * The wording in some diagnostics has been changed slightly.
1067
1068 * Snapshot files now record whether each file was accessed via NFS.
1069 The new file format is upward- and downward-compatible with the old.
1070
1071 * New language supported: da.
1072
1073 * Compilation by traditional (K&R) C compilers is no longer supported.
1074 If you still use such a compiler, please use GCC instead.
1075
1076 * This version of tar works best with GNU gzip test version 1.3 or later.
1077 Please see <ftp://alpha.gnu.org/gnu/gzip/>.
1078
1079 * 'tar --delete -f -' now works again.
1080
1081 \f
1082 version 1.13.17 - Paul Eggert, 2000-01-07.
1083
1084 * 'tar --delete -f -' is no longer allowed; it was too buggy.
1085 * Diagnostic messages have been made more regular and consistent.
1086
1087 \f
1088 version 1.13.16 - Paul Eggert, 1999-12-13.
1089
1090 * By default, tar now refuses to overwrite an existing file when
1091 extracting files from an archive; instead, it removes the file
1092 before extracting it. If the existing file is a symbolic link, the
1093 link is removed and not the pointed-to file. There is one
1094 exception: existing nonempty directories are not removed, nor are
1095 their ownerships or permissions extracted. This fixes some
1096 longstanding security problems.
1097
1098 The new --overwrite option enables the old default behavior.
1099
1100 For regular files, tar implements this change by using the O_EXCL
1101 option of 'open' to ensure that it creates the file; if this fails, it
1102 removes the file and tries again. This is similar to the behavior of
1103 the --unlink-first option, but it is faster in the common case of
1104 extracting a new directory.
1105
1106 * By default, tar now ignores file names containing a component of '..'
1107 when extracting, and warns about such file names when creating an archive.
1108 To enable the old behavior, use the -P or --absolute-names option.
1109
1110 * Tar now handles file names with multibyte encodings (e.g., UTF-8, Shift-JIS)
1111 correctly. It relies on the mbrtowc function to handle multibyte characters.
1112
1113 * The file generated by -g or --listed-incremental now uses a format
1114 that is independent of locale, so that users need not worry about
1115 locale when restoring a backup. This is needed for proper support
1116 of multibyte characters. Old-format files can still be read, and
1117 older versions of GNU tar can read new-format files, unless member
1118 names have multibyte chars.
1119
1120 * Many diagnostics have been changed slightly, so that file names are
1121 now output unambiguously. File names in diagnostics now are either
1122 `quoted like this' (in the default C locale) or are followed by
1123 colon, newline, or space, depending on context. Unprintable
1124 characters are escaped with a C-like backslash conventions.
1125 Terminating characters (e.g., close-quote, colon, newline)
1126 are also escaped as needed.
1127
1128 * tar now ignores socket files when creating an archive.
1129 Previously tar archived sockets as fifos, which caused problems.
1130
1131 \f
1132 version 1.13.15 - Paul Eggert, 1999-12-03.
1133
1134 * If a file's ctime changes when being archived, report an error.
1135 Previously tar looked at mtime, which missed some errors.
1136
1137 \f
1138 version 1.13.14 - Paul Eggert, 1999-11-07.
1139
1140 * New translations ja, pt_BR.
1141 * New options --help and --version for rmt.
1142 * Ignore Solaris door files when creating an archive.
1143
1144 \f
1145 version 1.13.13 - Paul Eggert, 1999-10-11.
1146
1147 * Invalid headers in tar files now elicit errors, not just warnings.
1148 * 'tar --version' output conforms to the latest GNU coding standards.
1149 * If you specify an invalid date, 'tar' now substitutes (time_t) -1.
1150 * 'configure --with-dmalloc' is no longer available.
1151
1152 \f
1153 version 1.13.12 - Paul Eggert, 1999-09-24.
1154
1155 * 'tar' now supports hard links to symbolic links.
1156
1157 * New options --no-same-owner, --no-same-permissions.
1158
1159 * --total now also outputs a human-readable size, and a throughput value.
1160
1161 * 'tar' now uses two's-complement base-256 when outputting header
1162 values that are out of the range of the standard unsigned base-8
1163 format. This affects archive members with negative or huge time
1164 stamps or uids, and archive members 8 GB or larger. The new tar
1165 archives cannot be read by traditional tar, or by older versions of
1166 GNU tar. Use the --old-archive option to revert to the old
1167 behavior, which uses unportable representations for negative values,
1168 and which rejects large files.
1169
1170 * On 32-bit hosts, 'tar' now assumes that an incoming time stamp T in
1171 the range 2**31 <= T < 2**32 represents the negative time (T -
1172 2**32). This behavior is nonstandard and is not portable to 64-bit
1173 time_t hosts, so 'tar' issues a warning.
1174
1175 * 'tar' no longer gives up extracting immediately upon discovering
1176 that an archive contains garbage at the end. It attempts to extract
1177 as many files as possible from the good data before the garbage.
1178
1179 * A read error now causes a nonzero exit status, not just a warning.
1180
1181 * Some diagnostics have been reworded for consistency.
1182
1183 \f
1184 version 1.13.11 - Paul Eggert, 1999-08-23.
1185
1186 * The short name of the --bzip option has been changed to -I,
1187 for compatibility with paxutils.
1188
1189 * -T /dev/null now matches nothing; previously, it matched anything
1190 if no explicit operands were given.
1191
1192 * The '--' option now works the same as with other GNU utilities;
1193 it causes later operands to be interpreted as file names, not options,
1194 even if they begin with '-'.
1195
1196 * For the --newer and --after-date options, the table of time zone
1197 abbreviations like 'EST' has been updated to match current practice.
1198 Also, local time abbreviations are now recognized, even if they are
1199 not in tar's hardwired table. Remember, though, that you should use
1200 numeric UTC offsets like '-0500' instead of abbreviations like
1201 'EST', as abbreviations are not standardized and are ambiguous.
1202
1203 \f
1204 version 1.13.10 - Paul Eggert, 1999-08-20.
1205
1206 * 'tar' now uses signed base-64 when outputting header values that are
1207 out of the range of the standard unsigned base-8 format. [This
1208 change was superseded in 1.13.12, described above.]
1209
1210 \f
1211 version 1.13.9 - Paul Eggert, 1999-08-18.
1212
1213 * 'tar' now writes two zero blocks at end-of-archive instead of just one.
1214 POSIX.1 requires this, and some other 'tar' implementations check for it.
1215
1216 * 'tar' no longer silently accepts a block containing nonzero checksum bytes
1217 as a zero block.
1218
1219 * 'tar' now reads buggy tar files that have a null byte at the start of a
1220 numeric header field.
1221
1222 \f
1223 version 1.13.8 - Paul Eggert, 1999-08-16.
1224
1225 * For compatibility with traditional 'tar', intermediate directories
1226 created automatically by root are no longer given the uid and gid of
1227 the original file or directory.
1228
1229 \f
1230 version 1.13.7 - Paul Eggert, 1999-08-14.
1231
1232 * --listed-incremental and --newer are now incompatible options.
1233
1234 * When creating an archive, leading './' is no longer stripped,
1235 to match traditional tar's behavior (and simplify the documentation).
1236
1237 * --diff without --absolute-names no longer falls back on absolute names.
1238
1239 \f
1240 version 1.13.6 - Paul Eggert, 1999-08-11.
1241
1242 * An --exclude pattern containing / now excludes a file only if it matches an
1243 initial prefix of the file name; a pattern without / continues to
1244 exclude a file if it matches any file name component.
1245
1246 * The protocol for talking to rmt has been extended slightly.
1247 Open flags are now communicated in symbolic format as well as numeric.
1248 The symbolic format (e.g., "O_WRONLY|O_CREAT|O_TRUNC") is for portability
1249 when rmt is operating on a different operating system from tar.
1250 The numeric format is retained, and rmt uses it if symbolic format is absent,
1251 for backward compatibility with older versions of tar and rmt.
1252
1253 * When writing GNU tar format headers, tar now uses signed base-64
1254 for values that cannot be represented in unsigned octal.
1255 This supports larger files (2**66 - 1 bytes instead of 2**33 - 1 bytes),
1256 larger uids, negative time stamps, etc.
1257
1258 * When extracting files with unknown ownership, tar now looks up the
1259 uid and gid "nobody" on hosts whose headers do not define UID_NOBODY
1260 and GID_NOBODY, and falls back on uid/gid -2 if there is no "nobody".
1261
1262 * tar -t --numeric-owner now prints numeric uids and gids, not symbolic.
1263
1264 * New option -y or --bzip2 for bzip2 compression, by popular request.
1265
1266 \f
1267 version 1.13.5 - Paul Eggert, 1999-07-20.
1268
1269 * Do the delayed updates of file metadata even after a fatal error.
1270
1271 \f
1272 version 1.13.4 - Paul Eggert, 1999-07-20.
1273
1274 * Do not chmod unless we are root or the -p option was given;
1275 this matches historical practice.
1276
1277 \f
1278 version 1.13.3 - Paul Eggert, 1999-07-16.
1279
1280 * A path name is excluded if any of its file name components matches an
1281 excluded pattern, even if the path name was specified on the command line.
1282 Also see 1.13.6 for later changes in this area.
1283
1284 \f
1285 version 1.13.2 - Paul Eggert, 1999-07-14.
1286
1287 * Bug reporting address changed to <bug-tar@gnu.org>.
1288
1289 \f
1290 version 1.13.1 - Paul Eggert, 1999-07-12.
1291
1292 * Bug fixes only.
1293 \f
1294 version 1.13 - Paul Eggert, 1999-07-08.
1295
1296 * Support for large files, e.g., files larger than 2 GB on many 32-bit hosts.
1297 Also, support for larger uids, device ids, etc.
1298 * Many bug fixes and porting fixes.
1299 * This release is only for fixes. A more ambitious test release,
1300 with new features, is available as part of the paxutils. Please see:
1301 ftp://alpha.gnu.org/gnu/paxutils/
1302 The fixes in this release are intended to be merged with paxutils
1303 at some point, but they haven't been merged yet.
1304 * An interim GNU tar alpha had new --bzip2 and --ending-file options,
1305 but they have been removed to maintain compatibility with paxutils.
1306 Please try --use=bzip2 instead of --bzip2.
1307 \f
1308 Version 1.12 - François Pinard, 1997-04.
1309
1310 Sensitive matters
1311 * Use shell globbing patterns for --label, instead of regular expressions.
1312 * Do not quote anymore internally over the quoting done by the shell.
1313
1314 Output for humans
1315 * Offer internationalization capabilities of most recent GNU gettext.
1316 * Messages available in many more languages, thanks to all translators!
1317 * Usage of ISO 8601 dates in listings, instead of local American dates.
1318 * More normalization and cleanup in error messages.
1319
1320 Creation
1321 * For helping using tar with find, offer a --no-recursion option.
1322 * Implement --numeric-owner for ignoring symbolic names at create time.
1323 * New --owner, --group --mode options, still preliminary.
1324 * Recognize creating an archive on /dev/null, so Amanda works faster.
1325 * Object to the creation of an empty archive (like in 'tar cf FILE').
1326 * Barely start implementing --posix and POSIXLY_CORRECT.
1327
1328 Extraction
1329 * Make a better job at restoring file and directory attributes.
1330 * Automatically attempt deleting existing files when in the way.
1331 * Option --unlink-first (-U) removes most files prior to extraction.
1332 * Option --recursive-unlink removes non-empty directories when in the way.
1333 * Option --numeric-owner ignores owner/group names, it uses UID/GID instead.
1334 * Use global umask when creating missing intermediate directories.
1335 * When symlinks are not available, extract symbolic links as hard links.
1336 * Diagnose extraction of contiguous files as regular files.
1337 * New --backup, --suffix and --version-control options.
1338
1339 Various changes
1340 * Better support of huge archives with --tape-length and --totals.
1341 * Rename option --read-full-blocks (-B) to --read-full-records (-B).
1342 * Rename option --block-size (-b) to --blocking-factor (-b).
1343 * Rename option --record-number (-R) to --block-number (-R).
1344 * With --block-number (-R), report null blocks and end of file.
1345 * Implement --record-size for introducing a size in bytes.
1346 * Delete --block-compress option and rather decide it automatically.
1347 * Rename option --modification-time to --touch.
1348
1349 Many bugs are squashed, while others still run free.
1350 \f
1351 Version 1.11.8 - François Pinard, 1995-06.
1352
1353 * Messages available in French, German, Portuguese and Swedish.
1354 * The distribution provides a rudimentary Texinfo manual.
1355 * The device defaults to stdin/stdout, unless overridden by the installer.
1356 * Option --sparse (-S) should work on more systems.
1357 * Option --rsh-command may select an alternative remote shell program.
1358
1359 Most changes are internal, and should yield better portability.
1360 \f
1361 Version 1.11.2 - Michael Bushnell, 1993-03.
1362
1363 * Changes in backup scripts: cleaned up considerably; notices error
1364 conditions better over rsh; DUMP_REMIND_SCRIPT is now an option in
1365 backup-specs; new file dump-remind is an example of a
1366 DUMP_REMIND_SCRIPT.
1367
1368 * Superfluous "Reading dirname" was a bug; fixed.
1369
1370 * Incompatibility problems with a bug on Solaris are fixed.
1371
1372 * New option --gzip (aliases are --ungzip and -z); calls gzip instead
1373 of compress. Also, --use-compress-program lets you specify any
1374 compress program. --compress-block is renamed --block-compress and
1375 now requires one of the three compression options to be specified.
1376
1377 * Several error messages are cleaned up.
1378
1379 * Directory owners are now set properly when running as root.
1380
1381 * Provide DUMP_REMIND_SCRIPT in backup-specs as a possible option
1382 for --info-script.
1383
1384 * Behave better with broken rmt servers.
1385
1386 * Dump scripts no longer use --atime-preserve; this causes a nasty probem.
1387
1388 * Several Makefile cleanups.
1389 \f
1390 Version 1.11.1 - Michael Bushnell, 1992-09.
1391
1392 * Many bug fixes.
1393 \f
1394 Version 1.11 - Michael Bushnell, 1992-09.
1395 Version 1.10.16 - 1992-07.
1396 Version 1.10.15 - 1992-06.
1397 Version 1.10.14 - 1992-05.
1398 Version 1.10.13 - 1992-01.
1399
1400 * Many bug fixes.
1401
1402 * Now uses GNU standard configure, generated by Autoconf.
1403
1404 * Long options now use '--'; use of '+' is deprecated and support
1405 for it will eventually be removed.
1406
1407 * New option --null causes filenames read by -T to be
1408 null-terminated, and causes -C to be ignored.
1409
1410 * New option --remove-files deletes files (but not directories)
1411 after they are added to the archive.
1412
1413 * New option --ignore-failed-read prevents read-errors from affecting
1414 the exit status.
1415
1416 * New option --checkpoint prints occasional messages as the tape
1417 is being read or written.
1418
1419 * New option --show-omitted-dirs prints the names of directories
1420 omitted from the archive.
1421
1422 * Some tape drives which use a non-standard method of indicating
1423 end-of-tape now work correctly with multi-tape archives.
1424
1425 * --volno-file: Read the volume number used in prompting the user
1426 (but not in recording volume ID's on the archive) from a file.
1427
1428 * When using --multi-volume, you can now give multiple -f arguments;
1429 the various tape drives will get used in sequence and then wrap
1430 around to the beginning.
1431
1432 * Remote archive names no longer have to be in /dev: any file with a
1433 ':' is interpreted as remote. If new option --force-local is given,
1434 then even archive files with a ':' are considered local.
1435
1436 * New option --atime-preserve restores (if possible) atimes to
1437 their original values after dumping the file.
1438
1439 * No longer does tar confusingly dump "." when you don't tell it
1440 what to dump.
1441
1442 * When extracting directories, tar now correctly restores their
1443 modification and access times.
1444
1445 * Longnames support is redone differently--long name info directly
1446 precedes the long-named file or link in the archive, so you no
1447 longer have to wait for the extract to hit the end of the tape for
1448 long names to work.
1449 \f
1450 Version 1.10 - Michael Bushnell, 1991-07.
1451
1452 * Filename to -G is optional. -C works right. Names +newer and
1453 +newer-mtime work right.
1454
1455 * -g is now +incremental, -G is now +listed-incremental.
1456
1457 * Sparse files now work correctly.
1458
1459 * +volume is now called +label.
1460
1461 * +exclude now takes a filename argument, and +exclude-from does
1462 what +exclude used to do.
1463
1464 * Exit status is now correct.
1465
1466 * +totals keeps track of total I/O and prints it when tar exits.
1467
1468 * When using +label with +extract, the label is now a regexp.
1469
1470 * New option +tape-length (-L) does multi-volume handling like BSD
1471 dump: you tell tar how big the tape is and it will prompt at that
1472 point instead of waiting for a write error.
1473
1474 * New backup scripts level-0 and level-1 which might be useful
1475 to people. They use a file "backup-specs" for information, and
1476 shouldn't need local modification. These are what we use to do
1477 all our backups at the FSF.
1478 \f
1479 Version 1.09 - Jay Fenlason, 1990-10.
1480 Version 1.08 - Jay Fenlason, 1990-01.
1481 Versions 1.07 back to 1.00 by Jay Fenlason.
1482
1483 * See ChangeLog for more details.
1484
1485 \f
1486
1487 Copyright 1994-2001, 2003-2010, 2013-2014 Free Software Foundation, Inc.
1488
1489 This file is part of GNU tar.
1490
1491 GNU tar is free software; you can redistribute it and/or modify
1492 it under the terms of the GNU General Public License as published by
1493 the Free Software Foundation; either version 3 of the License, or
1494 (at your option) any later version.
1495
1496 GNU tar is distributed in the hope that it will be useful,
1497 but WITHOUT ANY WARRANTY; without even the implied warranty of
1498 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1499 GNU General Public License for more details.
1500
1501 You should have received a copy of the GNU General Public License
1502 along with this program. If not, see <http://www.gnu.org/licenses/>.
1503 \f
1504 Local variables:
1505 mode: outline
1506 paragraph-separate: "[ \f]*$"
1507 eval: (add-hook 'write-file-hooks 'time-stamp)
1508 time-stamp-start: "changes. "
1509 time-stamp-format: "%:y-%02m-%02d"
1510 time-stamp-end: "\n"
1511 end:
This page took 0.10965 seconds and 4 git commands to generate.