heavycareer

10201 Database Linux X86 64.Cpio.Gz

I've received a Unix software distribution as a compressed cpio file. What's the best command to extract the files?

Wiki

Mark HarrisonMark Harrison

migrated from stackoverflow.comAug 28 '09 at 1:28

This question came from our site for professional and enthusiast programmers.

No contract No-strings entertainment. Verbotenes verlangen uncut movie.

4 Answers

  • i : extract (input)
  • d : create directories
  • m : preserve mtime
  • v : verbose
Mark HarrisonMark Harrison

While this is an old question, it shows up high on Google, so I thought I might update it. I agree with the accepted answer in general, but you should add '--no-absolute-filenames' unless you are intending to overwrite important system files on your machine. Also, personally, I prefer 'zcat' over 'gzip -cd' or 'gunzip -c'. El habito hace al monje umberto eco pdf.

Finally, note that you need to run cpio as root (e.g. sudo) if you are extracting a root filesystem that contains device nodes.

MattMatt

This Wikipedia page on cpio has some good notes.
For more details, refer to the cpio manual.

A link from the same Wikipedia page discusses comparison with tar archives.
And, here is an example of using cpio with the tar format.

niknik

For example, to extract the archived contents of /etc/httpd/ to the current directory, creating subdirectories ./etc/httpd/

The accepted answer and Matt's were both helpful to me but I was stumped for a while because of three details:

  1. The matching pattern needs to be quoted to work as a pattern :P
  2. The option --no-absolute-filenames must precede the pattern on the command line
  3. Since that option removes the leading / from filenames, the matching pattern must also omit the leading /
Chris D'AmatoChris D'Amato

Not the answer you're looking for? Browse other questions tagged cpio or ask your own question.