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

Jen*_*sen 4 bash shell extract rpm cpio

我需要运行:

rpm2cpio mypackage.rpm | cpio -idmv
Run Code Online (Sandbox Code Playgroud)

但是,我需要将输出放在不同的目录中。有没有比做更优雅的解决方案

mv <output> <to/other/directory>
Run Code Online (Sandbox Code Playgroud)

执行提取后?

lar*_*sks 5

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

rpm2cpio mypackage.rpm | (cd /to/other/directory; cpio -idmv)
Run Code Online (Sandbox Code Playgroud)

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

rpm2cpio mypackage.rpm | cpio -D /to/other/directory -idmv
Run Code Online (Sandbox Code Playgroud)