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