COHERENT manpages

This page displays the COHERENT manpage for gnucpio [Archiving/backup utility].

List of available manpages
Index


gnucpio -- Command

Archiving/backup utility
Copy-in mode: cpio {-o|--create} [-0acvABLV] [-C bytes] [-H format] [-M
message] [-O [[user@]host:]archive] [-F [[user@]host:]archive] [--
file=[[user@]host:]archive] [--format=format] [--message=message] [--null]
[--reset-access-time] [--verbose] [--dot] [--append] [--block-size=blocks]
[--dereference] [--io-size=bytes] [--version] < name-list [> archive]

Copy-out mode: cpio {-i|--extract} [-bcdfmnrtsuvBSV] [-C bytes] [-E file]
[-H format] [-M message] [-R [user][:.][group]] [-I [[user@]host:]archive]
[-F [[user@]host:]archive] [--file=[[user@]host:]archive] [--make-
directories] [--nonmatching] [--preserve-modification-time] [--numeric-uid-
gid] [--rename] [--list] [--swap-bytes] [--swap] [--dot] [--unconditional]
[--verbose] [--block-size=blocks] [--swap-halfwords] [--io-size=bytes] [--
pattern-file=file] [--format=format] [--owner=[user][:.][group]] [--no-
preserve-owner] [--message=message] [--version] [pattern...] [< archive]

Copy-through mode: cpio {-p|--pass-through} [-0adlmuvLV] [-R
[user][:.][group]] [--null] [--reset-access-time] [--make-directories] [--
link] [--preserve-modification-time] [--unconditional] [--verbose] [--dot]
[--dereference] [--owner=[user][:.][group]] [--no-preserve-owner] [--
version] destination-directory < name-list

gnucpio is  the GNU version  of the archive  utility cpio. It  copies files
into or out  of a cpio or tar archive,  which is a file that contains other
files  plus  information   about  them,  such  as  their  pathname,  owner,
timestamps, and access permissions.  The archive can be another file on the
disk, a magnetic tape, or a pipe.

gnucpio has three operating modes.

Copy-out Mode
     gnucpio copies files into an archive.   It reads a list of file names,
     one per line, from the standard input, and writes the archive onto the
     standard output.

Copy-in Mode
     gnucpio copies files from  an archive or lists the archive's contents.
     It reads the archive from the standard input.  Any non-option command-
     line arguments are shell wild-card patterns; only files in the archive
     whose names  match one or more  of those patterns are  copied from the
     archive.  Unlike  in the  shell, an  initial `.' in  a file  name does
     match a wildcard  at the start of a pattern,  and a `/' in a file name
     can match wildcards.  If the command line contains no pattern, gnucpio
     extracts all files.

Copy-pass Mode
     gnucpio  copies  files  from  one  directory  tree to  another.   This
     combines  the copy-out  and copy-in  steps  without actually  using an
     archive.  It reads the list of  files to copy from the standard input;
     the  directory into  which it  copies  them is  given as  a non-option
     argument.

gnucpio  supports the  following archive  formats:  binary, old  ASCII, new
ASCII, crc, old tar, and POSIX.1 tar. The binary format is obsolete because
it  encodes information  about the  files  in a  way that  is not  portable
between different machine  architectures.  The old ASCII format is portable
between different  machine architectures,  but should  not be used  on file
systems with  more than  65536 i-nodes.  The  new ASCII format  is portable
between different  machine architectures and  can be used on  any size file
system, but is not supported by all versions of cpio; currently, it is only
supported by  GNU and UNIX System  V R4.  The crc  format resembles the new
ASCII  format, but  also contains  a  checksum for  each file  that gnucpio
calculates when creating an archive and verifies when the file is extracted
from the archive.

tar format is  provided for compatability with the command  tar. It can not
be used to archive a file  whose name exceeds 100 characters, and cannot be
used to archive block or character devices.  The POSIX.1 tar format can not
be used to archive a file whose name exceeds 255 characters (less unless it
has a `/' in just the right place).

By default,  gnucpio creates binary archives,  for compatibility with older
cpio  programs.   When  extracting  from  archives,  gnucpio  automatically
recognizes the kind of archive it is reading, and can read archives created
on machines with a different byte-order.

Options

gnucpio recognizes  the following  command-line options.  Not  every option
applies to every  mode.  You can prefix the long-named  options with an `+'
as  well  as  with  an  `--',  for compatibility  with  previous  releases.
Eventually, support  for `+'  will be  removed, because it  is incompatible
with the POSIX Standard.

-0
--null
     In copy-out and copy-pass modes,  read a list of file names terminated
     by a  null character  instead of a  newline.  This permits  gnucpio to
     archive files whose names contain newlines.

-a
--reset-access-time
     Reset the  access times of files  after reading them, so  that it does
     not look like they have just been read.

-A
--append
     Append  to an  existing archive.   Only works  in copy-out  mode.  The
     archive must be a disk file specified with the options -O or -F.

-b
--swap
     In copy-in  mode, swap both halfwords of words  and bytes of halfwords
     in the data.  Equivalent to the option -sS. Use this option to convert
     32-bit integers between big-endian and little-endian machines.

-B   Set the I/O  block size to 5,120 bytes.  Initially,  the block size is
     512 bytes.

--block-size=blocks
     Set the block size to blocks×512 bytes.

-c   Use the old portable (ASCII) archive format.

-C size

--io-size=size
     Set the I/O block size to size bytes.

-d
--make-directories
     Create leading directories where needed.

-E file
--pattern-file=file
     In copy-in mode, read  from file additional patterns that specify file
     names to extract or list.  gnucpio treats the lines of file as if they
     had been non-option arguments to gnucpio.

-f
--nonmatching
     Copy only the files that do not match any of the given patterns.

-F
--file=archive
     Read to or write from archive instead of the standard input or output.
     When you use this option, you do not have to specify the output device
     for each volume of a multi-volume backup.

--force-local
     With options -F,  -I, or -O, take the archive  file name to be a local
     file  even if  it contains  a colon (which  ordinarily names  a remote
     host).

-H format
--format=format
     Use archive format format. The valid formats are listed below; gnucpio
     also recognizes these names  if given in capital letters.  The default
     in copy-in mode is to  detect automatically the archive format, and in
     copy-out mode is bin.

     bin  The obsolete binary format.

     odc  The old (POSIX.1) portable format.

     newc The new (SVR4)  portable format, which supports file systems that
          have more than 65536 i-nodes.

     crc  The new (SVR4) portable format with a checksum added.

     tar  The old tar format.

     ustar
          The POSIX.1 tar  format.  Also recognizes GNU tar archives, which
          are similar but not identical.

-i
--extract
     Run in copy-in mode.

-I archive
     Archive file name to use instead of standard input.

-k   This option exists only for compatibility with other versions of cpio.
     It is ignored.

-l
--link
     Whenever possible, link files instead of copying them.

-L
--dereference
     Dereference symbolic links -- that  is, copy the files that they point
     to instead of copying the links.

-m
--preserve-modification-time
     Retain previous file-modification times when creating files.

-M message
--message=message
     Print message when gnucpio reaches the  end of a volume of the back-up
     medium (such as a tape or a floppy disk), to prompt the user to insert
     a new  volume.  If  message contains  the string %d,  gnucpio replaces
     that string with the number of the current volume (starting at one).

-n
--numeric-uid-gid
     In the verbose table of contents listing, show the numeric UID and GID
     instead of translating them into names.

--no-preserve-owner
     In copy-in  and copy-pass  modes, do not  change the ownership  of the
     files: leave  them owned by the  user who extracts them.   This is the
     default  for non-root  users, so  that users on  System-V UNIX  do not
     inadvertantly give away files.

-o
--create
     Run in copy-out mode.

-O archive
     Write output into archive instead of to the standard output.

-p
--pass-through
     Run in copy-pass mode.

-r
--rename
     Interactively rename files.

-R [user][:.][group]
--owner [user][:.][group]
     In  copy-out  and copy-pass  modes,  set the  ownership  of all  files
     created to user and group. Either the user or the group, or both, must
     be present.  If  the group is omitted but the  `:' or `.' separator is
     given, gnucpio  uses the user's login group.   Only the super-user can
     change files' ownership.

-s
--swap-bytes
     In copy-in  mode, swap the bytes  of each halfword (pair  of bytes) in
     the files.

-S
--swap-halfwords
     In copy-in mode,  swap the halfwords of each word  (four bytes) in the
     files.

-t
--list
     Print a table of contents of the input.

-u
--unconditional
     Replace all  files, without asking  whether to replace  existing newer
     files with older files.

-v
--verbose
     List  the files  processed.   When used  with  the option  -t, give  a
     listing that resembles  the output of the command ls  -l. In a verbose
     table of  contents of  a ustar  archive, user and  group names  in the
     archive that  do not  exist on  the local system  are replaced  by the
     names that correspond locally to the numeric UID and GID stored in the
     archive.

-V --dot
     Print a `.' for each file processed.

--version
     Print the number  of the version of gnucpio that  you are now running,
     and exit.

Examples

The  following  command copies  all  files and  directories  listed by  the
command find and copies them into the archive newfile.cpio:

    find . -print | cpio -oc > ../newfile.cpio

The following command reads  the cpio archive newfile.cpio and extracts all
files whose names match the patterns memo/al or memo/b*:

    cpio -icdv "memo/al" "memo/b*" <../newfile.cpio

Note that  the -d option forces  cpio to create the  sub-directory memo and
write the files into it.  Otherwise, the files would have been written into
the current directory.  Option -v causes  cpio to display each file name as
it is extracted from the archive.

The  following  commands perform  a  multi-volume backup  of  all files  on
mounted  filesystem  /v to  the  character-special  (i.e., ``raw'')  floppy
device /dev/rfha0:

    su root
    cd /v
    find . -print | cpio -ocv >/dev/rfha0

If the cpio archive exceeds one floppy disk, you will be prompted to insert
another.

See Also

commands,
cpio,
gtar

Notes

COHERENT does  not yet support networking.  The  above descriptions of host
addressing do not yet apply.

gnucpio is released under  the conditions of the Free Software Foundation's
``copyleft''.   Full source  code is  available  through the  Mark Williams
bulletin board.