提取 RPM 时重新定位文件

提取 RPM 时重新定位文件

我正在尝试从可重定位 RPM 中提取文件,但面临当前的问题:

rpm2cpio my.rpm | cpio -ivd

工作得很好,但我得到了文件的完整路径,包括我想即时更改的默认前缀。

因此我尝试:

rpm2cpio my.rpm | pax -r -s '/oldprefix/newprefix/'

除了一些小转速之外,它确实有效,我得到:

pax:无效的块大小 616 字节。帕克斯:成功。 pid 7074 标志 0x200 上的同步管道读取错误。

我无法通过使用不同的块大小来解决这个问题,所以我现在尝试使用 cpio 的 --rename-batch-file 选项,但它似乎没有记录。据我所知,我可以将 cpio -t 的输出传递给它,其中我已将旧前缀替换为新前缀。

有人知道我的想法是否正确?

答案1

使用“rpm2cpio my.rpm | cpio -ivd”提取的另一个选项是使用 chroot 命令来保存您将文件放入 / 中的某个位置。

相关内容