Extract RPM to directory other than current directory

10.3k Views Asked by At

I am needing to run:

rpm2cpio mypackage.rpm | cpio -idmv

However, I need the output to be in a different directory. Is there a more elegant solution than doing

mv <output> <to/other/directory>

after performing the extraction?

2

There are 2 best solutions below

0
On BEST ANSWER

Since cpio is just reading from standard input, you can change to another directory before running it:

rpm2cpio mypackage.rpm | (cd /to/other/directory; cpio -idmv)

This is a general solution that will work with a variety of tools. The cpio command has a --directory (-D) option that will accomplish the same thing:

rpm2cpio mypackage.rpm | cpio -D /to/other/directory -idmv
1
On

Or even easier:

rpmdev-extract -C DIR mypackage.rpm