Come estraggo un file RPM?


32

Ho un file RPM di cui voglio esaminare il contenuto del file. Per i .debpacchetti, posso usarlo dpkg -x file.debper estrarlo.

Qual è il comando equivalente per un .rpmfile? Sto cercando un'applicazione da riga di comando.

Risposte:


45

file-rollersembra aprire i file rpm . In alternativa puoi usare il comando:

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

che estrarrà il contenuto rpm nella directory corrente.


Grazie, l'ho appena trovato:rpm2cpio file.rpm | cpio --extract --make-directories
Lekensteyn,

5

Per quanto mi ricordo devi usare un'app chiamata alien che trasforma i file .rpm in file deb. Usa un terminale per fare:

sudo apt-get install alien

poi

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

Se è necessario esaminarlo, è possibile ricorrere al metodo dpkg -x file.deb


rpm2cpiosembra funzionare bene, quindi non ho provato questo.
Lekensteyn,

1
questo ha lo svantaggio di creare prima un .deb.
enzotib,

3

Installa 7z:

apt install p7zip-full

ed estrarre:

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

Sfortunatamente 7z non è a conoscenza delle autorizzazioni dei file e per i pacchetti rpm che contengono eseguibili (cioè la maggior parte di essi) questo può essere un problema.
Abbraccio il

1

Puoi anche usare alien per estrarre solo i file (che chiama "genera un albero di build")

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

Otterrai 2 dir - <package>, e <package>.orig, che è l'estrazione grezza dal numero di giri.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.