]> Dogcows Code - chaz/tar/blob - README
1.12.64014
[chaz/tar] / README
1 This is an unofficial port of GNU `tar' 1.12 to large
2 file environments like Solaris 2.6 and HP-UX 10.20 that rely on integer
3 system types longer than `long'. Ordinary GNU `tar' 1.12 cannot handle
4 files larger than 2 GB when compiled in such environments. This port
5 addresses that problem, and fixes some other well-known bugs in GNU tar 1.12.
6 Please send bug reports specific to this unofficial version of GNU `tar'
7 to <eggert@twinsun.com>.
8
9 This is not intended to be a forked release for GNU tar; it's
10 just an interim experimental release, mostly intended for
11 Large File Summit hosts like Solaris 2.6. The patches of this
12 release have all been submitted via the usual channels and
13 they should no longer be needed once the next official release
14 of GNU tar is out.
15
16
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
21 If you got the `tar' distribution in `shar' format, timestamps ought to be
22 properly restored, do not ignore such complaints at `unshar' time.
23
24 GNU `tar' saves many files together into a single tape or disk
25 archive, and can restore individual files from the archive. It includes
26 multivolume support, the ability to archive sparse files, automatic archive
27 compression/decompression, remote archives and special features that allow
28 `tar' to be used for incremental and full backups. This distribution
29 also includes `rmt', the remote tape server. The `mt' tape drive control
30 program is in the GNU `cpio' distribution.
31
32 GNU `tar' is derived from John Gilmore's public domain `tar'.
33
34 See file `ABOUT-NLS' for how to customize this program to your language.
35 See file `BACKLOG' for a summary of pending mail and articles.
36 See file `COPYING' for copying conditions.
37 See file `INSTALL' for compilation and installation instructions.
38 See file `PORTS' for various ports of GNU tar to non-Unix systems.
39 See file `NEWS' for a list of major changes in the current release.
40 See file `THANKS' for a list of contributors.
41
42 Besides those configure options documented in files `INSTALL' and
43 `ABOUT-NLS', a few extra options may be accepted after `./configure':
44
45 * `--with-dmalloc' is a debugging option for looking at memory management
46 problems, it prerequires Gray Watson's package, which is available as
47 `ftp://ftp.letters.com/src/dmalloc/dmalloc.tar.gz'.
48
49 The default archive device is now `stdin' on read and `stdout' on write.
50 The installer can still override this by presetting `DEFAULT_ARCHIVE'
51 in the environment before configuring (the behavior of `-[0-7]' or
52 `-[0-7]lmh' options in `tar' are then derived automatically). Similarly,
53 `DEFAULT_BLOCKING' can be preset to something else than 20.
54
55 For comprehensive modifications to GNU tar, you might need tools beyond
56 those used in simple installations. Fully install GNU m4 1.4 first,
57 and only then, Autoconf 2.13 or later. Install Perl, then Automake
58 1.4 or later. You might need Bison 1.26 or later, and GNU tar itself.
59 All are available on GNU archive sites, like in
60 ftp://ftp.gnu.org/pub/gnu/.
61
62 Send bug reports to `tar-bugs@gnu.ai.mit.edu'. (Beware, old-timers: it is
63 `@gnu', not `@prep'; and not `bug-gnu-utils' anymore.) A bug report is
64 an adequate description of the problem: your input, what you expected,
65 what you got, and why this is wrong. Diffs are welcome, but they only
66 describe a solution, from which the problem might be uneasy to infer.
67 If needed, submit actual data files with your report. Small data files
68 are preferred. Big files may sometimes be necessary, but do not send them
69 to the report address; rather take special arrangement with the maintainer.
70
71 Your feedback will help us to make a better and more portable package.
72 Consider documentation errors as bugs, and report them as such. If you
73 develop anything pertaining to `tar' or have suggestions, let us know
74 and share your findings by writing at `tar-forum@iro.umontreal.ca'.
75
76 .--------------------.
77 | Installation hints |
78 `--------------------'
79
80 Here are a few hints which might help installing `tar' on some systems.
81
82 * Static linking.
83
84 Some platform will, by default, prepare a smaller `tar' executable
85 which depends on shared libraries. Since GNU `tar' may be used for
86 system-level backups and disaster recovery, installers might prefer to
87 force static linking, making a bigger `tar' executable maybe, but able to
88 work standalone, in situations where shared libraries are not available.
89 The way to achieve static linking varies between systems. Set LDFLAGS
90 to a value from the table below, before configuration (see `INSTALL').
91
92 Platform Compiler LDFLAGS
93
94 (any) Gnu C -static
95 AIX (vendor) "-bnso -bI:/lib/syscalls.exp"
96 HPUX (vendor) -Wl,-a,archive
97 IRIX (vendor) -non_shared
98 OSF (vendor) -non_shared
99 SCO 3.2v5 (vendor) -dn
100 Solaris (vendor) -Bstatic
101 SunOS (vendor) -Bstatic
102
103 * Failed `incremen.sh'.
104
105 In an NFS environment, lack of synchronisation between machine clocks
106 might create difficulties to any tool comparing dates and file timestamps,
107 like `tar' in incremental dumps. This has been a recurrent problem in
108 GNU Makefiles for the last few years. We would like a general solution.
109
110 * BSD compatibility matters.
111
112 Set LIBS to `-lbsd' before configuration (see `INSTALL') if the linker
113 complains about undefined `valloc' (AIX) or `bsd_ioctl' (Slackware).
114 Also set CPPFLAGS to `-I/usr/include/bsd/sys' before configuration to
115 solve dirent problems (NeXT), or to `-I/usr/include/bsd' if <sgtty.h>
116 is not found (Slackware).
117
118 * `union wait' problems.
119
120 Configuration of `union wait' does not always take the best decision.
121 If you have this problem, edit file `config.cache' after configuration,
122 find the line about `tar_cv_header_union_wait', change `yes' by `no'
123 or vice-versa, execute `./config.status', then launch `make'.
124
125 * `%lld' unsupported in `printf'.
126
127 GNU C has `long long', but the underneath C library might not support
128 the `%lld' format. If you have this problem, edit file `config.cache'
129 after configuration, find the line about `ac_cv_sizeof_long_long, change
130 `8' by `0', execute `./config.status', then launch `make'.
131
132 * FreeBSD users -- `configure' fails.
133
134 It has been reported that `configure' does not run on FreeBSD 2.1.7,
135 because of a buggy `sh'. It works using `bash', however.
136
137 * ISC users -- `S_*' symbols undefined.
138
139 On ISC 4.1mu, POSIX environment, set CFLAGS to `-posix' and CPPFLAGS to
140 `-D_SYSV3' before configuration (see `INSTALL'). This will trigger the
141 definition of a few `S_' prefixed symbols from <sys/stat.h>.
142
143 * Ultrix users -- broken `make'.
144
145 It seems that Ultrix make does not correctly handle shell commands
146 having logical connectives in them. Use `s5make' if you have it, try
147 `PROG_ENV=SYSTEM_FIVE make' (works on Ultrix 4.4), or install GNU Make.
148
149 .------------------.
150 | Special topics. |
151 `------------------'
152
153 Here are a few special matters about GNU `tar', not related to build
154 matters. See previous section for such.
155
156 * File attributes.
157
158 About *security*, it is probable that future releases of `tar' will have
159 some behaviour changed. There are many pending suggestions to choose from.
160 Today, extracting an archive not being `root', `tar' will restore suid/sgid
161 bits on files but owned by the extracting user. `root' automatically gets
162 a lot of special priviledges, `-p' might later become required to get them.
163
164 GNU `tar' does not properly restore symlink attributes. Various systems
165 implement flavours of symbolic links showing different behaviour and
166 properties. We did not successfully sorted all these out yet. Currently,
167 the `lchown' call will be used if available, but that's all.
168
169 * POSIX compliance.
170
171 GNU `tar' implements an early draft of the POSIX 1003.1 `ustar' standard
172 which is different from the final standard. This will be progressively
173 corrected over the incoming few years. Don't be mislead by the mere
174 existence of the --posix option. Later releases will become able to
175 read truly POSIX archives, and also to produce them under option. (Also,
176 if you look at the internals, don't take the GNU extensions you see for
177 granted, as they are planned to change.) GNU tar 2.0 will produce POSIX
178 archives by default, but there is a long way before we get there.
179
180 * What's next?
181
182 The emphasis from 1.11.2 to 1.12 has been on solving the main portability,
183 execution or usability bugs. This was accompanied all over with an
184 internal cleanup in the sources, and the reassembly of a `tar' manual.
185
186 The `BACKLOG' file shows an approximative priorisation of the many pending
187 problems and suggestions. Besides pending problems and all other matters
188 listed above, the cleanup is planned to continue and extend to the general
189 organisation of the code, preparing a long time in advance for a possible
190 merge of the `cpio' and `tar' distributions, into some common `paxutils'.
191 We also want to address some long-awaited performance issues (for example:
192 double buffering) or enhancements (for example: per-file compression).
This page took 0.039895 seconds and 4 git commands to generate.