| 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@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@gnu.org>. | 
|---|
| 221 |  | 
|---|
| 222 |  | 
|---|
| 223 |  | 
|---|
| 224 | * Copying | 
|---|
| 225 |  | 
|---|
| 226 | Copyright (C) 1990, 1991, 1992, 1994, 1997, 1998, 1999, 2000, | 
|---|
| 227 | 2001, 2003, 2004 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 2, 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 |  | 
|---|
| 247 |  | 
|---|
| 248 | Local Variables: | 
|---|
| 249 | mode: outline | 
|---|
| 250 | paragraph-separate: "[ | 
|---|
| 251 | ]*$" | 
|---|
| 252 | version-control: never | 
|---|
| 253 | End: | 
|---|
| 254 |  | 
|---|