]> Dogcows Code - chaz/tar/blob - README
Adjust to changes to gnulib xalloc module.
[chaz/tar] / README
1 README for GNU tar
2 See the end of file for copying conditions.
3
4 * Introduction
5
6 Please glance through *all* sections of this
7 `README' file before starting configuration. Also make sure you read files
8 `ABOUT-NLS' and `INSTALL' if you are not familiar with them already.
9
10 If you got the `tar' distribution in `shar' format, time stamps ought to be
11 properly restored; do not ignore such complaints at `unshar' time.
12
13 GNU `tar' saves many files together into a single tape or disk
14 archive, and can restore individual files from the archive. It includes
15 multivolume support, the ability to archive sparse files, automatic archive
16 compression/decompression, remote archives and special features that allow
17 `tar' to be used for incremental and full backups. This distribution
18 also includes `rmt', the remote tape server. The `mt' tape drive control
19 program is in the GNU `cpio' distribution.
20
21 GNU `tar' is derived from John Gilmore's public domain `tar'.
22
23 See file `ABOUT-NLS' for how to customize this program to your language.
24 See file `COPYING' for copying conditions.
25 See file `INSTALL' for compilation and installation instructions.
26 See file `PORTS' for various ports of GNU tar to non-Unix systems.
27 See file `NEWS' for a list of major changes in the current release.
28 See file `THANKS' for a list of contributors.
29
30 Besides those configure options documented in files `INSTALL' and
31 `ABOUT-NLS', an extra option may be accepted after `./configure':
32
33 * Install
34
35 ** Selecting the default archive format.
36
37 The default archive format is GNU, this can be overridden by
38 presetting DEFAULT_ARCHIVE_FORMAT while configuring. The allowed
39 values are GNU, V7, OLDGNU, USTAR and POSIX.
40
41 ** Selecting the default archive device
42
43 The default archive device is now `stdin' on read and `stdout' on write.
44 The installer can still override this by presetting `DEFAULT_ARCHIVE'
45 in the environment before configuring (the behavior of `-[0-7]' or
46 `-[0-7]lmh' options in `tar' are then derived automatically). Similarly,
47 `DEFAULT_BLOCKING' can be preset to something else than 20.
48
49 ** Selecting full pathname of the "rmt" binary.
50
51 Previous versions of tar always looked for "rmt" binary using
52 hardcoded path "/etc/rmt". However, the "rmt" program included
53 in the distribution was installed under "$prefix/libexec/rmt".
54 To fix this discrepancy, tar now looks for "$prefix/libexec/rmt".
55 If you do not want this behavior, specify full path name of
56 "rmt" binary using DEFAULT_RMT_COMMAND variable, e.g.:
57
58 ./configure DEFAULT_RMT_COMMAND=/etc/rmt
59
60 ** Installing backup scripts.
61
62 This version of tar is shipped with the shell scripts for producing
63 incremental backups (dumps) and restoring filesystems from them.
64 The name of the backup script is "backup". The name of the
65 restore script is "restore". They are installed in "$prefix/sbin"
66 directory.
67
68 Use option --enable-backup-scripts to compile and install these
69 scripts.
70
71 ** `--disable-largefile' omits support for large files, even if the
72 operating system supports large files. Typically, large files are
73 those larger on 2 GB on a 32-bit host.
74
75 * Installation hints
76
77 Here are a few hints which might help installing `tar' on some systems.
78
79 ** gzip and bzip2.
80
81 GNU tar uses the gzip and bzip2 programs to read and write compressed
82 archives. If you don't have these programs already, you need to
83 install them. Their sources can be found at:
84
85 ftp://ftp.gnu.org/gnu/gzip/
86 http://sourceware.cygnus.com/bzip2/
87
88 If you see the following symptoms:
89
90 $ tar -xzf file.tar.gz
91 gzip: stdin: decompression OK, trailing garbage ignored
92 tar: Child returned status 2
93
94 then you have encountered a gzip incompatibility that should be fixed
95 in gzip test version 1.3, which as of this writing is available at
96 <ftp://alpha.gnu.org/gnu/gzip/>. You can work around the
97 incompatibility by using a shell command like
98 `gzip -d <file.tar.gz | tar -xzf -'.
99
100 ** Solaris issues.
101
102 GNU tar exercises many features that can cause problems with older GCC
103 versions. In particular, GCC 2.8.1 (sparc, -O1 or -O2) is known to
104 miscompile GNU tar. No compiler-related problems have been reported
105 when using GCC 2.95.2 or later.
106
107 Recent versions of Solaris tar sport a new -E option to generate
108 extended headers in an undocumented format. GNU tar does not
109 understand these headers.
110
111 ** Static linking.
112
113 Some platform will, by default, prepare a smaller `tar' executable
114 which depends on shared libraries. Since GNU `tar' may be used for
115 system-level backups and disaster recovery, installers might prefer to
116 force static linking, making a bigger `tar' executable maybe, but able to
117 work standalone, in situations where shared libraries are not available.
118 The way to achieve static linking varies between systems. Set LDFLAGS
119 to a value from the table below, before configuration (see `INSTALL').
120
121 Platform Compiler LDFLAGS
122
123 (any) Gnu C -static
124 AIX (vendor) -bnso -bI:/lib/syscalls.exp
125 HPUX (vendor) -Wl,-a,archive
126 IRIX (vendor) -non_shared
127 OSF (vendor) -non_shared
128 SCO 3.2v5 (vendor) -dn
129 Solaris (vendor) -Bstatic
130 SunOS (vendor) -Bstatic
131
132 ** Failed tests `ignfail.sh' or `incremen.sh'.
133
134 In an NFS environment, lack of synchronization between machine clocks
135 might create difficulties to any tool comparing dates and file time stamps,
136 like `tar' in incremental dumps. This has been a recurrent problem with
137 GNU Make for the last few years. We would like a general solution.
138
139 ** BSD compatibility matters.
140
141 Set LIBS to `-lbsd' before configuration (see `INSTALL') if the linker
142 complains about `bsd_ioctl' (Slackware). Also set CPPFLAGS to
143 `-I/usr/include/bsd' if <sgtty.h> is not found (Slackware).
144
145 ** OPENStep 4.2 swap files
146
147 Tar cannot read the file /private/vm/swapfile.front (even as root).
148 This file is not a real file, but some kind of uncompressed view of
149 the real compressed swap file; there is no reason to back it up, so
150 the simplest workaround is to avoid tarring this file.
151
152 * Special topics
153
154 Here are a few special matters about GNU `tar', not related to build
155 matters. See previous section for such.
156
157 ** File attributes.
158
159 About *security*, it is probable that future releases of `tar' will have
160 some behavior changed. There are many pending suggestions to choose from.
161 Today, extracting an archive not being `root', `tar' will restore suid/sgid
162 bits on files but owned by the extracting user. `root' automatically gets
163 a lot of special privileges, `-p' might later become required to get them.
164
165 GNU `tar' does not properly restore symlink attributes. Various systems
166 implement flavors of symbolic links showing different behavior and
167 properties. We did not successfully sorted all these out yet. Currently,
168 the `lchown' call will be used if available, but that's all.
169
170 ** POSIX compliance.
171
172 GNU `tar' is able to create archive in the following formats:
173
174 *** The format of UNIX version 7
175 *** POSIX.1-1988 format, also known as "ustar format"
176 *** POSIX.1-2001 format, also known as "pax format"
177 *** Old GNU format (described below)
178
179 In addition to those, GNU `tar' is also able to read archives
180 produced by `star' archiver.
181
182 A so called `Old GNU' format is based on an early draft of the
183 POSIX 1003.1 `ustar' standard which is different from the final
184 standard. It defines its extensions (such as incremental backups
185 and handling of the long file names) in a way incompatible with
186 any existing tar archive format, therefore the use of old GNU
187 format is strongly discouraged.
188
189 Please read the file NEWS for more information about POSIX compliance
190 and new `tar' features.
191
192 * What's next?
193
194 GNU tar will be merged into GNU paxutils: a project containing
195 several utilities related to creating and handling archives in
196 various formats. The project will include tar, cpio and pax
197 utilities.
198
199 * Bug reporting.
200
201 Send bug reports to <bug-tar@gnu.org>. A bug report should contain
202 an adequate description of the problem, your input, what you expected,
203 what you got, and why this is wrong. Diffs are welcome, but they only
204 describe a solution, from which the problem might be uneasy to infer.
205 If needed, submit actual data files with your report. Small data files
206 are preferred. Big files may sometimes be necessary, but do not send them
207 to the report address; rather take special arrangement with the maintainer.
208
209 Your feedback will help us to make a better and more portable package.
210 Consider documentation errors as bugs, and report them as such. If you
211 develop anything pertaining to `tar' or have suggestions, let us know
212 and share your findings by writing to <bug-tar@gnu.org>.
213
214 \f
215 * Copying
216
217 Copyright (C) 1990, 1991, 1992, 1994, 1997, 1998, 1999, 2000,
218 2001, 2003, 2004 Free Software Foundation, Inc.
219
220 This file is part of GNU tar.
221
222 GNU tar is free software; you can redistribute it and/or modify
223 it under the terms of the GNU General Public License as published by
224 the Free Software Foundation; either version 2, or (at your option)
225 any later version.
226
227 GNU tar is distributed in the hope that it will be useful,
228 but WITHOUT ANY WARRANTY; without even the implied warranty of
229 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
230 GNU General Public License for more details.
231
232 You should have received a copy of the GNU General Public License
233 along with tar; see the file COPYING. If not, write to
234 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
235 Boston, MA 02111-1307, USA.
236
237 \f
238 Local Variables:
239 mode: outline
240 paragraph-separate: "[ \f]*$"
241 version-control: never
242 End:
243
This page took 0.047725 seconds and 4 git commands to generate.