Home | History | Annotate | only in /sfw/usr/src/cmd/gtar/tar-1.22
Up to higher level directory
NameDateSize
ABOUT-NLS30-Nov-200677.7K
aclocal.m405-Mar-200939K
AUTHORS25-Sep-2007601
build-aux/05-Mar-2009
ChangeLog05-Mar-2009324.6K
ChangeLog.118-May-2005201.9K
config.hin05-Mar-200936.1K
configure05-Mar-20091.1M
configure.ac05-Mar-20097.6K
COPYING29-Jun-200734.2K
doc/05-Mar-2009
INSTALL28-Dec-200811.6K
lib/05-Mar-2009
m4/05-Mar-2009
Makefile.am27-Jun-20071.1K
Makefile.in05-Mar-200938.4K
NEWS05-Mar-200941.6K
po/05-Mar-2009
PORTS27-Jun-20076.1K
README27-Jun-20079.5K
rmt/05-Mar-2009
scripts/05-Mar-2009
src/05-Mar-2009
tests/05-Mar-2009
THANKS19-Oct-200819K
TODO27-Jun-20072.2K

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 in the
     52 directory "/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_DIR variable, e.g.:
     57 
     58 ./configure DEFAULT_RMT_DIR=/etc
     59 
     60 If you already have a copy of "rmt" installed and wish to use it
     61 instead of the version supplied with the distribution, use --with-rmt
     62 option:
     63 
     64 ./configure --with-rmt=/etc/rmt
     65 
     66 This will also disable building the included version of rmt.
     67 
     68 ** Installing backup scripts.
     69 
     70 This version of tar is shipped with the shell scripts for producing
     71 incremental backups (dumps) and restoring filesystems from them.
     72 The name of the backup script is "backup". The name of the
     73 restore script is "restore". They are installed in "$prefix/sbin"
     74 directory.
     75 
     76 Use option --enable-backup-scripts to compile and install these
     77 scripts.
     78 
     79 ** `--disable-largefile' omits support for large files, even if the
     80 operating system supports large files.  Typically, large files are
     81 those larger than 2 GB on a 32-bit host.
     82 
     83 * Installation hints
     84 
     85 Here are a few hints which might help installing `tar' on some systems.
     86 
     87 ** gzip and bzip2.
     88 
     89 GNU tar uses the gzip and bzip2 programs to read and write compressed
     90 archives.  If you don't have these programs already, you need to
     91 install them.  Their sources can be found at:
     92 
     93 ftp://ftp.gnu.org/gnu/gzip/
     94 http://sourceware.cygnus.com/bzip2/
     95 
     96 If you see the following symptoms:
     97 
     98    $ tar -xzf file.tar.gz
     99    gzip: stdin: decompression OK, trailing garbage ignored
    100    tar: Child returned status 2
    101 
    102 then you have encountered a gzip incompatibility that should be fixed
    103 in gzip test version 1.3, which as of this writing is available at
    104 <ftp://alpha.gnu.org/gnu/gzip/>.  You can work around the
    105 incompatibility by using a shell command like
    106  `gzip -d <file.tar.gz | tar -xzf -'.
    107 
    108 ** Solaris issues.
    109 
    110 GNU tar exercises many features that can cause problems with older GCC
    111 versions.  In particular, GCC 2.8.1 (sparc, -O1 or -O2) is known to
    112 miscompile GNU tar.  No compiler-related problems have been reported
    113 when using GCC 2.95.2 or later.
    114 
    115 Recent versions of Solaris tar sport a new -E option to generate
    116 extended headers in an undocumented format.  GNU tar does not
    117 understand these headers.
    118 
    119 ** Static linking.
    120 
    121 Some platform will, by default, prepare a smaller `tar' executable
    122 which depends on shared libraries.  Since GNU `tar' may be used for
    123 system-level backups and disaster recovery, installers might prefer to
    124 force static linking, making a bigger `tar' executable maybe, but able to
    125 work standalone, in situations where shared libraries are not available.
    126 The way to achieve static linking varies between systems.  Set LDFLAGS
    127 to a value from the table below, before configuration (see `INSTALL').
    128 
    129 	Platform	Compiler	LDFLAGS
    130 
    131 	(any)		Gnu C		-static
    132 	AIX		(vendor)	-bnso -bI:/lib/syscalls.exp
    133 	HPUX		(vendor)	-Wl,-a,archive
    134 	IRIX		(vendor)	-non_shared
    135 	OSF		(vendor)	-non_shared
    136 	SCO 3.2v5	(vendor)	-dn
    137 	Solaris		(vendor)	-Bstatic
    138 	SunOS		(vendor)	-Bstatic
    139 
    140 ** Failed tests `ignfail.sh' or `incremen.sh'.
    141 
    142 In an NFS environment, lack of synchronization between machine clocks
    143 might create difficulties to any tool comparing dates and file time stamps,
    144 like `tar' in incremental dumps.  This has been a recurrent problem with
    145 GNU Make for the last few years.  We would like a general solution.
    146 
    147 ** BSD compatibility matters.
    148 
    149 Set LIBS to `-lbsd' before configuration (see `INSTALL') if the linker
    150 complains about `bsd_ioctl' (Slackware).  Also set CPPFLAGS to
    151 `-I/usr/include/bsd' if <sgtty.h> is not found (Slackware).
    152 
    153 ** OPENStep 4.2 swap files
    154 
    155 Tar cannot read the file /private/vm/swapfile.front (even as root).
    156 This file is not a real file, but some kind of uncompressed view of
    157 the real compressed swap file; there is no reason to back it up, so
    158 the simplest workaround is to avoid tarring this file.
    159 
    160 * Special topics
    161 
    162 Here are a few special matters about GNU `tar', not related to build
    163 matters.  See previous section for such.
    164 
    165 ** File attributes.
    166 
    167 About *security*, it is probable that future releases of `tar' will have
    168 some behavior changed.  There are many pending suggestions to choose from.
    169 Today, extracting an archive not being `root', `tar' will restore suid/sgid
    170 bits on files but owned by the extracting user.  `root' automatically gets
    171 a lot of special privileges, `-p' might later become required to get them.
    172 
    173 GNU `tar' does not properly restore symlink attributes.  Various systems
    174 implement flavors of symbolic links showing different behavior and
    175 properties.  We did not successfully sorted all these out yet.  Currently,
    176 the `lchown' call will be used if available, but that's all.
    177 
    178 ** POSIX compliance.
    179 
    180 GNU `tar' is able to create archive in the following formats:
    181 
    182   *** The format of UNIX version 7
    183   *** POSIX.1-1988 format, also known as "ustar format" 
    184   *** POSIX.1-2001 format, also known as "pax format"
    185   *** Old GNU format (described below)
    186 
    187 In addition to those, GNU `tar' is also able to read archives
    188 produced by `star' archiver.  
    189 
    190 A so called `Old GNU' format is based on an early draft of the
    191 POSIX 1003.1 `ustar' standard which is different from the final
    192 standard. It defines its extensions (such as incremental backups
    193 and handling of the long file names) in a way incompatible with
    194 any existing tar archive format, therefore the use of old GNU
    195 format is strongly discouraged. 
    196 
    197 Please read the file NEWS for more information about POSIX compliance
    198 and new `tar' features.
    199 
    200 * What's next?
    201 
    202 GNU tar will be merged into GNU paxutils: a project containing
    203 several utilities related to creating and handling archives in
    204 various formats. The project will include tar, cpio and pax
    205 utilities.
    206 
    207 * Bug reporting.
    208 
    209 Send bug reports to <bug-tar (a] gnu.org>.  A bug report should contain
    210 an adequate description of the problem, your input, what you expected,
    211 what you got, and why this is wrong.  Diffs are welcome, but they only
    212 describe a solution, from which the problem might be uneasy to infer.
    213 If needed, submit actual data files with your report.  Small data files
    214 are preferred.  Big files may sometimes be necessary, but do not send them
    215 to the report address; rather take special arrangement with the maintainer.
    216 
    217 Your feedback will help us to make a better and more portable package.
    218 Consider documentation errors as bugs, and report them as such.  If you
    219 develop anything pertaining to `tar' or have suggestions, let us know
    220 and share your findings by writing to <bug-tar (a] gnu.org>.
    221 
    222 
    224 * Copying
    225 
    226 	Copyright (C) 1990, 1991, 1992, 1994, 1997, 1998, 1999, 2000,
    227 	2001, 2003, 2004, 2007 Free Software Foundation, Inc.
    228 
    229 	This file is part of GNU tar.
    230 
    231 	GNU tar is free software; you can redistribute it and/or modify
    232 	it under the terms of the GNU General Public License as published by
    233 	the Free Software Foundation; either version 3, or (at your option)
    234 	any later version.
    235 
    236 	GNU tar is distributed in the hope that it will be useful,
    237 	but WITHOUT ANY WARRANTY; without even the implied warranty of
    238 	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    239 	GNU General Public License for more details.
    240 
    241 	You should have received a copy of the GNU General Public License
    242 	along with tar; see the file COPYING.  If not, write to
    243 	the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
    244 	Boston, MA 02110-1301, USA.
    245 
    246 
    248 Local Variables:
    249 mode: outline
    250 paragraph-separate: "[	]*$"
    252 version-control: never
    253 End:
    254 
    255