¿Cómo extraigo un archivo RPM?

32

Tengo un archivo RPM del que quiero examinar el contenido de su archivo. Para .debpaquetes, puedo usar dpkg -x file.debpara extraerlo.

¿Cuál es el comando equivalente para un .rpmarchivo? Estoy buscando una aplicación de línea de comandos.

Lekensteyn
fuente

Respuestas:

45

file-rollerparece abrir archivos rpm . Alternativamente, puede usar el comando:

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

eso extraerá el contenido de rpm al directorio actual.

enzotib
fuente
Gracias, acabo de encontrarlo:rpm2cpio file.rpm | cpio --extract --make-directories
Lekensteyn
5

Hasta donde recuerdo, tienes que usar una aplicación llamada alien que transforma .rpm en archivos deb. Use una terminal para hacer:

sudo apt-get install alien

luego

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

Si necesita examinarlo, puede recurrir a su método dpkg -x file.deb

andybleaden
fuente
rpm2cpioparece funcionar bien, así que no he probado este.
Lekensteyn
1
Esto tiene el inconveniente de crear un .deb primero.
enzotib
3

Instalar 7z:

apt install p7zip-full

y extraer:

7z x /path/to/file.rpm 
7z x /path/to/file.cpio -o/path/to/extract/folder/
Pavel P.
fuente
Desafortunadamente, 7z no conoce los permisos de archivos y para los paquetes rpm que contienen ejecutables (es decir, la mayoría de ellos) esto puede ser un problema.
Wug
1

También puede usar alien para extraer solo los archivos (lo que llama "generar un árbol de compilación")

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

Obtendrá 2 dirs <package>, y <package>.orig, que es la extracción sin procesar de las rpm.

Randall
fuente