cpio
From Wikipedia, the free encyclopedia
cpio is a binary file archiver and a file format. The cpio software utility was meant as a tape archiver that was originally part of PWB/UNIX, and that was also part of UNIX System III and UNIX System V. However, the use of its Research Unix counterpart, tar, and the freely available versions thereof, are widely considered to be a better solution.[1] cpio's use by the RPM Package Manager continues to make cpio an important archive format.
Contents |
[edit] cpio archive
A cpio archive is a stream of files and directories in a single archive, and often ends with a .cpio file extension. The archive has header information that allows for an application such as the GNU cpio tool to extract the files and directories into a file system. The header of a cpio archive also contains information such as the file name, time stamp, owner and permissions.
The cpio archive is similar in function to that of a tar archive, and was designed to store backups onto a tape device in a contiguous manner. Like the Tar format, CPIO archives are often compressed using Gzip and distributed as .cpgz files.
Oracle distributes a large amount of its software in the cpio format.
[edit] POSIX and cpio
The cpio utility was standardized in POSIX.1-1988. It was dropped from later revisions, starting with POSIX.1-2001 due to its 8 GB filesize limit. The POSIX standardized pax utility can be used to read and write cpio archives instead.
[edit] GNU cpio
The GNU cpio application is a common tool that can be used to put information into a cpio or tar archive. The cpio application is free software, and is available from the GNU web site.
[edit] Example use
If you wanted to archive an entire directory tree, the find command can provide the file list to cpio:
% find . -depth -print | cpio -ov > tree.cpio
Cpio copies files from one directory tree to another, combining 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 will copy them is given as a non-option argument.
% find . -depth -print0 | cpio --null -pvd new-dir
To extract files from a cpio archive, pass the archive to cpio as its standard input.
Warning: If you are root, files on your filesystem that also exist in the cpio image may be replaced by those in the cpio image if those on your filesystem differ from those in the image!
% cpio -id < cpiofile
The -i flag indicates that cpio is reading in the archive to extract files, and the -d flag tells cpio to construct directories as necessary. You can also use the -v flag to have file names listed as files are extracted.
Any non-option command line arguments are shell globbing patterns; only files in the archive whose names match one or more of those patterns are copied from the archive. The following example extracts etc/fstab from the archive (the format of the archive contents should be verified with cpio -l first to verify how path is stored) :
% cpio -id etc/fstab < cpiofile
[edit] See also
[edit] Cited references
- ^ Peek J, O'Reilly T, Loukides M. 1997. Unix Power Tools. O'Reilly & Associates, Inc. ISBN 1-56592-260-3.
[edit] External links
|
|