将 RPM 解压缩到当前目录以外的目录

Extract RPM to directory other than current directory

我需要 运行:

rpm2cpio mypackage.rpm | cpio -idmv

但是,我需要将输出放在不同的目录中。有没有比

更优雅的解决方案
mv <output> <to/other/directory>

执行提取后?

由于 cpio 只是从标准输入读取,您可以在 运行 之前切换到另一个目录:

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

这是一个适用于多种工具的通用解决方案。 cpio 命令有一个 --directory (-D) 选项可以完成同样的事情:

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

或者更简单:

rpmdev-extract -C DIR mypackage.rpm