再配置可能な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 コマンドを使用して / に入れたファイルを保存することです。