RPMのディレクトリをさまざまなツールのパラメータとして使用する

RPMのディレクトリをさまざまなツールのパラメータとして使用する

特定のフォルダからフォルダをインポートする必要があります。回転速度パッケージに含まれる数量。できる文書。私の考えでは、それをストリームに渡すことができると思いました。Java-cpコマンドをクラスパスとして使用しますか?

私が取り組んでいるプロジェクトは10以上の大きなRPMを構築しており、RPMごとにRPMに常駐するアプリケーションのクラスパスを必要とするプログラムを実行する必要があります。

偶然というプログラムを発見しました。rpm2cpioパイプで接続可能CPIO注文する。しかし、今私の知識はますます不足しています。 cpioパッケージの内容をディスクに抽出せずにファイルストリームを使用し、特定のフォルダをフィルタリングして他のコマンドの引数として使用することができるかどうかはわかりません。

なぜ抽出のためにこれを試すべきですか?みんなディスク上のタスクはIO集約的なタスクなので、可能であれば避けたいと思います。

答え1

rpm -qlp package.rpm

含まれているファイルは完全に抽出されていない状態でリストされ、package.rpm大きなRPMでも十分に高速でなければなりません。このファイルリストを使用すると、必要なクラスパスを構築できます。

RPMから特定のディレクトリとすべてのコンテンツを抽出するには、ディレクトリを作成してから、次を使用してcpioRPMから関連ファイルを抽出する必要があります。

cd /tmp
mkdir ./the/requested/directory
rpm2cpio /path/to/the/package.rpm | cpio -i ./the/requested/directory/\*

関連情報