README 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196
  1. README for GNU tar
  2. Copyright 1990, 1991, 1992, 1994, 1997, 1998, 1999, 2000, 2001
  3. Free Software Foundation, Inc.
  4. This file is part of GNU tar.
  5. GNU tar is free software; you can redistribute it and/or modify
  6. it under the terms of the GNU General Public License as published by
  7. the Free Software Foundation; either version 2, or (at your option)
  8. any later version.
  9. GNU tar is distributed in the hope that it will be useful,
  10. but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. GNU General Public License for more details.
  13. You should have received a copy of the GNU General Public License
  14. along with tar; see the file COPYING. If not, write to
  15. the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  16. Boston, MA 02111-1307, USA.
  17. Please glance through *all* sections of this
  18. `README' file before starting configuration. Also make sure you read files
  19. `ABOUT-NLS' and `INSTALL' if you are not familiar with them already.
  20. If you got the `tar' distribution in `shar' format, time stamps ought to be
  21. properly restored; do not ignore such complaints at `unshar' time.
  22. GNU `tar' saves many files together into a single tape or disk
  23. archive, and can restore individual files from the archive. It includes
  24. multivolume support, the ability to archive sparse files, automatic archive
  25. compression/decompression, remote archives and special features that allow
  26. `tar' to be used for incremental and full backups. This distribution
  27. also includes `rmt', the remote tape server. The `mt' tape drive control
  28. program is in the GNU `cpio' distribution.
  29. GNU `tar' is derived from John Gilmore's public domain `tar'.
  30. See file `ABOUT-NLS' for how to customize this program to your language.
  31. See file `COPYING' for copying conditions.
  32. See file `INSTALL' for compilation and installation instructions.
  33. See file `PORTS' for various ports of GNU tar to non-Unix systems.
  34. See file `NEWS' for a list of major changes in the current release.
  35. See file `THANKS' for a list of contributors.
  36. Besides those configure options documented in files `INSTALL' and
  37. `ABOUT-NLS', an extra option may be accepted after `./configure':
  38. * `--disable-largefile' omits support for large files, even if the
  39. operating system supports large files. Typically, large files are
  40. those larger on 2 GB on a 32-bit host.
  41. The default archive device is now `stdin' on read and `stdout' on write.
  42. The installer can still override this by presetting `DEFAULT_ARCHIVE'
  43. in the environment before configuring (the behavior of `-[0-7]' or
  44. `-[0-7]lmh' options in `tar' are then derived automatically). Similarly,
  45. `DEFAULT_BLOCKING' can be preset to something else than 20.
  46. For comprehensive modifications to GNU tar, you might need tools beyond
  47. those used in simple installations. Fully install GNU m4 1.4 first,
  48. and only then, Autoconf 2.13 or later. Install Perl, then Automake
  49. 1.4 or later. You might need Bison 1.28 or later, and GNU tar itself.
  50. All are available on GNU archive sites, like in
  51. ftp://ftp.gnu.org/pub/gnu/.
  52. Send bug reports to `[email protected]'. (Beware, old-timers: it is
  53. `@gnu', not `@prep'; and not `bug-gnu-utils' anymore.) A bug report is
  54. an adequate description of the problem: your input, what you expected,
  55. what you got, and why this is wrong. Diffs are welcome, but they only
  56. describe a solution, from which the problem might be uneasy to infer.
  57. If needed, submit actual data files with your report. Small data files
  58. are preferred. Big files may sometimes be necessary, but do not send them
  59. to the report address; rather take special arrangement with the maintainer.
  60. Your feedback will help us to make a better and more portable package.
  61. Consider documentation errors as bugs, and report them as such. If you
  62. develop anything pertaining to `tar' or have suggestions, let us know
  63. and share your findings by writing to <[email protected]>.
  64. Installation hints
  65. ------------------
  66. Here are a few hints which might help installing `tar' on some systems.
  67. * gzip and bzip2.
  68. GNU tar uses the gzip and bzip2 programs to read and write compressed
  69. archives. If you don't have these programs already, you need to
  70. install them. Their sources can be found at:
  71. ftp://ftp.gnu.org/gnu/gzip/
  72. http://sourceware.cygnus.com/bzip2/
  73. If you see the following symptoms:
  74. $ tar -xzf file.tar.gz
  75. gzip: stdin: decompression OK, trailing garbage ignored
  76. tar: Child returned status 2
  77. then you have encountered a gzip incompatibility that should be fixed
  78. in gzip test version 1.3, which as of this writing is available at
  79. <ftp://alpha.gnu.org/gnu/gzip/>. You can work around the
  80. incompatibility by using a shell command like
  81. `gzip -d <file.tar.gz | tar -xzf -'.
  82. * Solaris issues.
  83. GNU tar exercises many features that can cause problems with older GCC
  84. versions. In particular, GCC 2.8.1 (sparc, -O1 or -O2) is known to
  85. miscompile GNU tar. No compiler-related problems have been reported
  86. when using GCC 2.95.2 or later.
  87. Recent versions of Solaris tar sport a new -E option to generate
  88. extended headers in an undocumented format. GNU tar does not
  89. understand these headers.
  90. * Static linking.
  91. Some platform will, by default, prepare a smaller `tar' executable
  92. which depends on shared libraries. Since GNU `tar' may be used for
  93. system-level backups and disaster recovery, installers might prefer to
  94. force static linking, making a bigger `tar' executable maybe, but able to
  95. work standalone, in situations where shared libraries are not available.
  96. The way to achieve static linking varies between systems. Set LDFLAGS
  97. to a value from the table below, before configuration (see `INSTALL').
  98. Platform Compiler LDFLAGS
  99. (any) Gnu C -static
  100. AIX (vendor) -bnso -bI:/lib/syscalls.exp
  101. HPUX (vendor) -Wl,-a,archive
  102. IRIX (vendor) -non_shared
  103. OSF (vendor) -non_shared
  104. SCO 3.2v5 (vendor) -dn
  105. Solaris (vendor) -Bstatic
  106. SunOS (vendor) -Bstatic
  107. * Failed tests `ignfail.sh' or `incremen.sh'.
  108. In an NFS environment, lack of synchronization between machine clocks
  109. might create difficulties to any tool comparing dates and file time stamps,
  110. like `tar' in incremental dumps. This has been a recurrent problem with
  111. GNU Make for the last few years. We would like a general solution.
  112. * BSD compatibility matters.
  113. Set LIBS to `-lbsd' before configuration (see `INSTALL') if the linker
  114. complains about `bsd_ioctl' (Slackware). Also set CPPFLAGS to
  115. `-I/usr/include/bsd' if <sgtty.h> is not found (Slackware).
  116. * OPENStep 4.2 swap files
  117. Tar cannot read the file /private/vm/swapfile.front (even as root).
  118. This file is not a real file, but some kind of uncompressed view of
  119. the real compressed swap file; there is no reason to back it up, so
  120. the simplest workaround is to avoid tarring this file.
  121. Special topics
  122. --------------
  123. Here are a few special matters about GNU `tar', not related to build
  124. matters. See previous section for such.
  125. * File attributes.
  126. About *security*, it is probable that future releases of `tar' will have
  127. some behavior changed. There are many pending suggestions to choose from.
  128. Today, extracting an archive not being `root', `tar' will restore suid/sgid
  129. bits on files but owned by the extracting user. `root' automatically gets
  130. a lot of special privileges, `-p' might later become required to get them.
  131. GNU `tar' does not properly restore symlink attributes. Various systems
  132. implement flavors of symbolic links showing different behavior and
  133. properties. We did not successfully sorted all these out yet. Currently,
  134. the `lchown' call will be used if available, but that's all.
  135. * POSIX compliance.
  136. GNU `tar' implements an early draft of the POSIX 1003.1 `ustar' standard
  137. which is different from the final standard. This will be progressively
  138. corrected over the incoming few years. Don't be mislead by the mere
  139. existence of the --posix option. Later releases will become able to
  140. read truly POSIX archives, and also to produce them under option. (Also,
  141. if you look at the internals, don't take the GNU extensions you see for
  142. granted, as they are planned to change.) GNU tar 2.0 will produce POSIX
  143. archives by default, but there is a long way before we get there.
  144. * What's next?
  145. In the future we will try to release tar-1.14 as soon as possible and
  146. start merging with paxutils afterwards. We'll also try to rewrite
  147. some parts of the documentation after paxutils has been merged.