Comment extraire un fichier RPM?

32

J'ai un fichier RPM dont je veux examiner le contenu. Pour les .debpackages, je peux l'utiliser dpkg -x file.debpour l'extraire.

Quelle est la commande équivalente pour un .rpmfichier? Je recherche une application en ligne de commande.

Lekensteyn
la source

Réponses:

45

file-rollersemble ouvrir les fichiers rpm . Vous pouvez également utiliser la commande:

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

qui extraira le contenu du rpm dans le répertoire courant.

enzotib
la source
Merci, je viens de le rencontrer:rpm2cpio file.rpm | cpio --extract --make-directories
Lekensteyn
5

Pour autant que je me souvienne, vous devez utiliser une application appelée alien qui transforme .rpm en fichiers deb. Utilisez un terminal pour faire:

sudo apt-get install alien

puis

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

Si vous devez ensuite l'examiner, vous pouvez recourir à votre méthode dpkg -x file.deb

andybleaden
la source
rpm2cpiosemble bien fonctionner, donc je n'ai pas essayé celui-ci.
Lekensteyn
1
cela a l'inconvénient de créer d'abord un .deb.
enzotib
3

Installez 7z:

apt install p7zip-full

et extraire:

7z x /path/to/file.rpm 
7z x /path/to/file.cpio -o/path/to/extract/folder/
Pavel P.
la source
Malheureusement, 7z n'est pas au courant des autorisations de fichiers et pour les paquets rpm qui contiennent des exécutables (c'est-à-dire la plupart d'entre eux), cela peut être un problème.
Wug
1

Vous pouvez également utiliser alien pour extraire uniquement les fichiers (qu'il appelle "générer un arbre de génération")

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

Vous obtiendrez 2 dirs - <package>, et <package>.orig, qui est l'extraction brute du rpm.

Randall
la source