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