RPMファイルを抽出するにはどうすればよいですか?


32

ファイルの内容を調べたいRPMファイルがあります。以下のため.debのパッケージ、私は使用することができdpkg -x file.deb、それを抽出すること。

.rpmファイルの同等のコマンドは何ですか?コマンドラインアプリケーションを探しています。

回答:


45

file-rollerrpmファイルを開くようです。または、次のコマンドを使用できます。

$ sudo apt-get install rpm2cpio
$ rpm2cpio /path/to/file.rpm | cpio -i --make-directories

これにより、rpmコンテンツが現在のディレクトリに抽出されます。


おかげで、私はちょうどそれに出くわした:rpm2cpio file.rpm | cpio --extract --make-directories
Lekensteyn

5

私が覚えている限り、.rpmをdebファイルに変換するalienというアプリを使用する必要があります。ターミナルを使用して以下を実行します。

sudo apt-get install alien

それから

sudo alien -d nameofyourpackage.rpm (-d for Debian package)

その後、調べる必要がある場合は、dpkg -x file.debメソッドを使用できます。


rpm2cpioうまく動作するようですので、私はこれを試していません。
レーケンシュタイン

1
これには、最初に.debを作成するという欠点があります。
enzotib

3

7zをインストールします。

apt install p7zip-full

そして抽出:

7z x /path/to/file.rpm 
7z x /path/to/file.cpio -o/path/to/extract/folder/

残念ながら、7zはファイルのパーミッションを認識しておらず、実行可能ファイル(つまりそれらのほとんど)を含むrpmパッケージの場合、これは問題になる可能性があります。
WUG

1

また、エイリアンを使用してファイルのみを抽出することもできます(これを「ビルドツリーの生成」と呼びます)

alien --scripts --generate <package.rpm>

2つのディレクトリを取得します- <package>および<package>.orig、これはrpmからの生の抽出です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.