mirror of
https://git.savannah.gnu.org/git/tar.git
synced 2026-04-23 10:00:37 +00:00
gtar 1.12
This commit is contained in:
203
README
203
README
@@ -1,40 +1,181 @@
|
||||
Hey! Emacs! Yo! This is -*- Text -*- !!!
|
||||
Here is GNU `tar' 1.12. Please glance through *all* sections of this
|
||||
`README' file before starting configuration. Also make sure you read files
|
||||
`ABOUT-NLS' and `INSTALL' if you are not familiar with them already.
|
||||
|
||||
This is GNU tar 1.11.2. Please send bug reports, etc., to
|
||||
bug-gnu-utils@prep.ai.mit.edu. This is a beta-test release. Please
|
||||
try it out. There is no manual; the release of version 1.12 will
|
||||
contain a manual.
|
||||
If you got the `tar' distribution in `shar' format, timestamps ought to be
|
||||
properly restored, do not ignore such complaints at `unshar' time.
|
||||
|
||||
GNU tar is based heavily on John Gilmore's public domain tar, but with
|
||||
added features. The manual is currently being written.
|
||||
GNU `tar' saves many files together into a single tape or disk
|
||||
archive, and can restore individual files from the archive. It includes
|
||||
multivolume support, the ability to archive sparse files, automatic archive
|
||||
compression/decompression, remote archives and special features that allow
|
||||
`tar' to be used for incremental and full backups. This distribution
|
||||
also includes `rmt', the remote tape server. The `mt' tape drive control
|
||||
program is in the GNU `cpio' distribution.
|
||||
|
||||
This distribution also includes rmt, the remote tape server (which
|
||||
normally must reside in /etc). The mt tape drive control program is
|
||||
in the GNU cpio distribution.
|
||||
GNU `tar' is derived from John Gilmore's public domain `tar'.
|
||||
|
||||
See the file INSTALL for compilation and installation instructions for Unix.
|
||||
See the file NEWS for information on all that is new in this version
|
||||
of tar.
|
||||
See file `ABOUT-NLS' for how to customize this program to your language.
|
||||
See file `BACKLOG' for a summary of pending mail and articles.
|
||||
See file `COPYING' for copying conditions.
|
||||
See file `INSTALL' for compilation and installation instructions.
|
||||
See file `PORTS' for various ports of GNU tar to non-Unix systems.
|
||||
See file `NEWS' for a list of major changes in the current release.
|
||||
See file `THANKS' for a list of contributors.
|
||||
|
||||
makefile.pc is a makefile for Turbo C 2.0 on MS-DOS.
|
||||
Besides those configure options documented in files `INSTALL' and
|
||||
`ABOUT-NLS', a few extra options may be accepted after `./configure':
|
||||
|
||||
Various people have been having problems using floppies on a NeXT. In
|
||||
order to have them work right, you need to kill the automounting
|
||||
program which tries to mount floppies as soon as they are added.
|
||||
* `--with-included-malloc' or `--without-included-malloc' may override
|
||||
the automatic choice made by `configure' about using included GNU malloc.
|
||||
|
||||
If you want to do incremental dumps, use the distributed backup
|
||||
scripts. They are what we use at the FSF to do all our backups. Most
|
||||
importantly, do not use --incremental (-G) or --after-date (-N) or
|
||||
--newer-mtime to do incremental dumps. The only option that works
|
||||
correctly for this purpose is --listed-incremental. (When extracting
|
||||
incremental dumps, use --incremental (-G).)
|
||||
* `--with-dmalloc' is a debugging option for looking at memory management
|
||||
problems, it prerequires Gray Watson's package, which is available as
|
||||
`ftp://ftp.letters.com/src/dmalloc/dmalloc.tar.gz'.
|
||||
|
||||
If your system needs to link with -lPW to get alloca, but has
|
||||
rename in the C library (so HAVE_RENAME is defined), -lPW might
|
||||
give you an incorrect version of rename. On HP-UX this manifests
|
||||
itself as an undefined data symbol called "Error" when linking cp, ln,
|
||||
and mv. If this happens, use `ar x' to extract alloca.o from libPW.a
|
||||
and `ar rc' to put it in a library liballoca.a, and put that in LIBS
|
||||
instead of -lPW. This problem does not occur when using gcc, which
|
||||
has alloca built in.
|
||||
The default archive device is now `stdin' on read and `stdout' on write.
|
||||
The installer can still override this by presetting `DEFAULT_ARCHIVE'
|
||||
in the environment before configuring (the behavior of `-[0-7]' or
|
||||
`-[0-7]lmh' options in `tar' are then derived automatically). Similarly,
|
||||
`DEFAULT_BLOCKING' can be preset to something else than 20.
|
||||
|
||||
For comprehensive modifications to GNU tar, you might need tools beyond
|
||||
those used in simple installations. Fully install GNU m4 1.4 first,
|
||||
and only then, Autoconf 2.12 with officious patches held in `AC-PATCHES'.
|
||||
Install Perl, then Automake 1.1n with officious patches in `AM-PATCHES'.
|
||||
You might need Bison 1.25 with officious patches in `BI-PATCHES' (but yacc
|
||||
and byacc may be OK for you), and GNU tar itself. All are available on
|
||||
GNU archive sites, like in ftp://prep.ai.mit.edu/pub/gnu/, but Automake
|
||||
is still ftp://ftp.cygnus.com/pub/tromey/automake-1.1n.tar.gz.
|
||||
|
||||
Send bug reports to `tar-bugs@gnu.ai.mit.edu'. (Beware, old-timers: it is
|
||||
`@gnu', not `@prep'; and not `bug-gnu-utils' anymore.) A bug report is
|
||||
an adequate description of the problem: your input, what you expected,
|
||||
what you got, and why this is wrong. Diffs are welcome, but they only
|
||||
describe a solution, from which the problem might be uneasy to infer.
|
||||
If needed, submit actual data files with your report. Small data files
|
||||
are preferred. Big files may sometimes be necessary, but do not send them
|
||||
to the report address; rather take special arrangement with the maintainer.
|
||||
|
||||
Your feedback will help us to make a better and more portable package.
|
||||
Consider documentation errors as bugs, and report them as such. If you
|
||||
develop anything pertaining to `tar' or have suggestions, let us know
|
||||
and share your findings by writing at `tar-forum@iro.umontreal.ca'.
|
||||
|
||||
.--------------------.
|
||||
| Installation hints |
|
||||
`--------------------'
|
||||
|
||||
Here are a few hints which might help installing `tar' on some systems.
|
||||
|
||||
* Static linking.
|
||||
|
||||
Some platform will, by default, prepare a smaller `tar' executable
|
||||
which depends on shared libraries. Since GNU `tar' may be used for
|
||||
system-level backups and disaster recovery, installers might prefer to
|
||||
force static linking, making a bigger `tar' executable maybe, but able to
|
||||
work standalone, in situations where shared libraries are not available.
|
||||
The way to achieve static linking varies between systems. Set LDFLAGS
|
||||
to a value from the table below, before configuration (see `INSTALL').
|
||||
|
||||
Platform Compiler LDFLAGS
|
||||
|
||||
(any) Gnu C -static
|
||||
AIX (vendor) "-bnso -bI:/lib/syscalls.exp"
|
||||
HPUX (vendor) -Wl,-a,archive
|
||||
IRIX (vendor) -non_shared
|
||||
OSF (vendor) -non_shared
|
||||
SCO 3.2v5 (vendor) -dn
|
||||
Solaris (vendor) -Bstatic
|
||||
SunOS (vendor) -Bstatic
|
||||
|
||||
* Failed `incremen.sh'.
|
||||
|
||||
In an NFS environment, lack of synchronisation between machine clocks
|
||||
might create difficulties to any tool comparing dates and file timestamps,
|
||||
like `tar' in incremental dumps. This has been a recurrent problem in
|
||||
GNU Makefiles for the last few years. We would like a general solution.
|
||||
|
||||
* BSD compatibility matters.
|
||||
|
||||
Set LIBS to `-lbsd' before configuration (see `INSTALL') if the linker
|
||||
complains about undefined `valloc' (AIX) or `bsd_ioctl' (Slackware).
|
||||
Also set CPPFLAGS to `-I/usr/include/bsd/sys' before configuration to
|
||||
solve dirent problems (NeXT), or to `-I/usr/include/bsd' if <sgtty.h>
|
||||
is not found (Slackware).
|
||||
|
||||
* `union wait' problems.
|
||||
|
||||
Configuration of `union wait' does not always take the best decision.
|
||||
If you have this problem, edit file `config.cache' after configuration,
|
||||
find the line about `tar_cv_header_union_wait', change `yes' by `no'
|
||||
or vice-versa, execute `./config.status', then launch `make'.
|
||||
|
||||
* `%lld' unsupported in `printf'.
|
||||
|
||||
GNU C has `long long', but the underneath C library might not support
|
||||
the `%lld' format. If you have this problem, edit file `config.cache'
|
||||
after configuration, find the line about `ac_cv_sizeof_long_long, change
|
||||
`8' by `0', execute `./config.status', then launch `make'.
|
||||
|
||||
* FreeBSD users -- `configure' fails.
|
||||
|
||||
It has been reported that `configure' does not run on FreeBSD 2.1.7,
|
||||
because of a buggy `sh'. It works using `bash', however.
|
||||
|
||||
* ISC users -- `S_*' symbols undefined.
|
||||
|
||||
On ISC 4.1mu, POSIX environment, set CFLAGS to `-posix' and CPPFLAGS to
|
||||
`-D_SYSV3' before configuration (see `INSTALL'). This will trigger the
|
||||
definition of a few `S_' prefixed symbols from <sys/stat.h>.
|
||||
|
||||
* Ultrix users -- broken `make'.
|
||||
|
||||
It seems that Ultrix make does not correctly handle shell commands
|
||||
having logical connectives in them. Use `s5make' if you have it, try
|
||||
`PROG_ENV=SYSTEM_FIVE make' (works on Ultrix 4.4), or install GNU Make.
|
||||
|
||||
.------------------.
|
||||
| Special topics. |
|
||||
`------------------'
|
||||
|
||||
Here are a few special matters about GNU `tar', not related to build
|
||||
matters. See previous section for such.
|
||||
|
||||
* File attributes.
|
||||
|
||||
About *security*, it is probable that future releases of `tar' will have
|
||||
some behaviour changed. There are many pending suggestions to choose from.
|
||||
Today, extracting an archive not being `root', `tar' will restore suid/sgid
|
||||
bits on files but owned by the extracting user. `root' automatically gets
|
||||
a lot of special priviledges, `-p' might later become required to get them.
|
||||
|
||||
GNU `tar' does not properly restore symlink attributes. Various systems
|
||||
implement flavours of symbolic links showing different behaviour and
|
||||
properties. We did not successfully sorted all these out yet. Currently,
|
||||
the `lchown' call will be used if available, but that's all.
|
||||
|
||||
* POSIX compliance.
|
||||
|
||||
GNU `tar' implements an early draft of the POSIX 1003.1 `ustar' standard
|
||||
which is different from the final standard. This will be progressively
|
||||
corrected over the incoming few years. Don't be mislead by the mere
|
||||
existence of the --posix option. Later releases will become able to
|
||||
read truly POSIX archives, and also to produce them under option. (Also,
|
||||
if you look at the internals, don't take the GNU extensions you see for
|
||||
granted, as they are planned to change.) GNU tar 2.0 will produce POSIX
|
||||
archives by default, but there is a long way before we get there.
|
||||
|
||||
* What's next?
|
||||
|
||||
The emphasis from 1.11.2 to 1.12 has been on solving the main portability,
|
||||
execution or usability bugs. This was accompanied all over with an
|
||||
internal cleanup in the sources, and the reassembly of a `tar' manual.
|
||||
|
||||
The `BACKLOG' file shows an approximative priorisation of the many pending
|
||||
problems and suggestions. Besides pending problems and all other matters
|
||||
listed above, the cleanup is planned to continue and extend to the general
|
||||
organisation of the code, preparing a long time in advance for a possible
|
||||
merge of the `cpio' and `tar' distributions, into some common `paxutils'.
|
||||
We also want to address some long-awaited performance issues (for example:
|
||||
double buffering) or enhancements (for example: per-file compression).
|
||||
|
||||
Reference in New Issue
Block a user