[3332] | 1 | This is GNU cpio, a program to manage archives of files.
|
---|
| 2 | As of version 2.0, it supports the features of the System V release 4
|
---|
| 3 | cpio, including support for tar archives.
|
---|
| 4 |
|
---|
| 5 | This package also includes rmt, the remote tape server, and mt, a tape
|
---|
| 6 | drive control program; these two programs will only be compiled if
|
---|
| 7 | your system supports remote command execution, and tape drive control
|
---|
| 8 | operations, respectively.
|
---|
| 9 |
|
---|
| 10 | See the file INSTALL for compilation and installation instructions for Unix.
|
---|
| 11 |
|
---|
| 12 | For non-Unix systems [ Note: The non-Unix makefiles have not been tested
|
---|
| 13 | for this release ]
|
---|
| 14 |
|
---|
| 15 | makefile.pc is a makefile for Turbo C or C++ or Borland C++ on MS-DOS.
|
---|
| 16 |
|
---|
| 17 | makefile.os2 is a makefile for MS C and GNU C (emx/gcc) on OS/2.
|
---|
| 18 | cpio.def is a linker definition file for the MS C OS/2 version.
|
---|
| 19 |
|
---|
| 20 |
|
---|
| 21 | The main advantages of GNU cpio over Unix versions are:
|
---|
| 22 |
|
---|
| 23 | * It can access tape drives on other hosts using TCP/IP.
|
---|
| 24 |
|
---|
| 25 | * `-o' and `-p' can copy symbolic links either as symbolic links or,
|
---|
| 26 | with `-L', as the files they point to.
|
---|
| 27 |
|
---|
| 28 | * `-i' automatically recognizes the archive format and tries to
|
---|
| 29 | recover from corrupted archives.
|
---|
| 30 |
|
---|
| 31 | * The output of '-itv' looks like 'ls -l'.
|
---|
| 32 |
|
---|
| 33 | * It accepts long-named options as well as traditional
|
---|
| 34 | single-character options.
|
---|
| 35 |
|
---|
| 36 | A few features of other versions of cpio are missing from GNU cpio, including:
|
---|
| 37 |
|
---|
| 38 | * The `-6' option to support Sixth Edition Unix cpio archives with `-i'.
|
---|
| 39 |
|
---|
| 40 | * An option to limit volume size, like afio -s.
|
---|
| 41 |
|
---|
| 42 |
|
---|
| 43 | GNU cpio supports the POSIX.1 "ustar" tar format. GNU tar supports a
|
---|
| 44 | somewhat different, early draft of that format. That draft format has
|
---|
| 45 | a slightly different magic number in the tar header and doesn't
|
---|
| 46 | include the path prefix part of the header, which allows storing file
|
---|
| 47 | names that are longer than 100 characters. GNU cpio knows to
|
---|
| 48 | recognize the nonstandard GNU tar "ustar" archives.
|
---|
| 49 |
|
---|
| 50 | The following patch to GNU tar 1.11.1 makes GNU tar recognize standard
|
---|
| 51 | "ustar" archives, such as GNU cpio produces, except that it won't use
|
---|
| 52 | the path prefix. Without this patch, GNU tar thinks that standard
|
---|
| 53 | "ustar" archives are old-format tar archives and can not use the extra
|
---|
| 54 | information that "ustar" format contains. If you use this patch,
|
---|
| 55 | remember that you will lose the beginnings of paths that are longer
|
---|
| 56 | than 100 characters. That's why it's not an official part of GNU tar.
|
---|
| 57 | (Adding support for the path prefix to GNU tar is not trivial.)
|
---|
| 58 |
|
---|
| 59 | --- list.c.orig Mon Sep 14 17:04:03 1992
|
---|
| 60 | +++ list.c Wed Oct 14 14:02:28 1992
|
---|
| 61 | @@ -439,7 +439,7 @@
|
---|
| 62 | st->st_ctime = from_oct(1+12, header->header.ctime);
|
---|
| 63 | }
|
---|
| 64 |
|
---|
| 65 | - if (0==strcmp(header->header.magic, TMAGIC)) {
|
---|
| 66 | + if (0==strncmp(header->header.magic, TMAGIC, 5)) {
|
---|
| 67 | /* Unix Standard tar archive */
|
---|
| 68 | *stdp = 1;
|
---|
| 69 | if (wantug) {
|
---|
| 70 |
|
---|
| 71 | Mail suggestions and bug reports for GNU cpio to bug-cpio@gnu.org.
|
---|