Wie extrahiere ich eine RPM-Datei?

32

Ich habe eine RPM-Datei, deren Inhalt ich überprüfen möchte. Für .debPakete kann ich verwenden dpkg -x file.deb, um es zu extrahieren.

Was ist der entsprechende Befehl für eine .rpmDatei? Ich suche eine Befehlszeilenanwendung.

Lekensteyn
quelle

Antworten:

45

file-rollerScheint RPM- Dateien zu öffnen . Alternativ können Sie den Befehl verwenden:

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

Dadurch wird der RPM- Inhalt in das aktuelle Verzeichnis extrahiert .

Enzotib
quelle
Danke, ich bin gerade darauf rpm2cpio file.rpm | cpio --extract --make-directories
gestoßen
5

Soweit ich mich erinnere, müssen Sie eine App namens alien verwenden, die .rpm in deb-Dateien umwandelt. Verwenden Sie ein Terminal, um Folgendes zu tun:

sudo apt-get install alien

dann

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

Wenn Sie es dann untersuchen müssen, können Sie auf Ihre Methode dpkg -x file.deb zurückgreifen

andybleaden
quelle
rpm2cpioscheint gut zu funktionieren, also habe ich diesen nicht ausprobiert.
Lekensteyn
1
Dies hat den Nachteil, dass zuerst eine .deb-Datei erstellt wird.
Enzotib
3

Installieren Sie 7z:

apt install p7zip-full

und extrahieren:

7z x /path/to/file.rpm 
7z x /path/to/file.cpio -o/path/to/extract/folder/
Pavel P.
quelle
Leider sind 7z keine Dateiberechtigungen bekannt, und für RPM-Pakete, die ausführbare Dateien enthalten (dh die meisten davon), kann dies ein Problem sein.
Wug
1

Sie können alien auch verwenden, um nur die Dateien zu extrahieren (die "einen Build-Baum generieren" genannt werden).

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

Sie erhalten 2 dirs - <package>und <package>.orig, das ist die Rohextraktion aus der U / min.

Randall
quelle