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