Desempaquetar un archivo rpm

Todo aquel que por cualquier motivo (y mejor no entremos en los porqué que no quiero deprimirme) se vea obligado a utilizar skype en Linux y no quería actualizar a la última, patética versión habrá seguramente recibido en las últimas semanas un amable correo electrónico indicando que las versiones 4 y anteriores serán descontinuadas a partir del primero de julio y que hay que pasarse obligatoriamente a la versión 5.3, la cual está oficialmente marcada como beta y falla más que escopeta de feria.

Sí, exacto. Pienso igual.

Bueno, la cuestión es que esta nueva versión viene distribuida solamente como rpm y deb y que yo no tengo ganas de instalar un rpm que no venga de un repositorio de mi distro, por lo que ha sido esta una buena oportunidad para desempolvar las viejas recetas sobre cómo desempaquetar archivos rpm para una «instalación local».

Veamos.

Un archivo, gráficamente

Un rpm es simplemente un archivo comprimido al que se le han agregado metadatos. El formato de compresión elegido ha sido, históricamente, cpio, pero versiones recientes del estándar pueden utilizar bzip2, lzip, lzma, xz o, desde la versión 5, xar.

Como sea, cualquier programa de compresión de datos debería ser capaz de abrirlo. Por ejemplo, Ark abre archivos rpm sin problemas por lo que en KDE solo tenemos que hacer clic derecho → Extraer → Extraer archivo comprimido aquí, autodetectar subcarpeta.

Un archivo, en línea de comandos

En la carpeta que contiene el archivo.rpm creamos una subcarpeta, entramos en ella, abrimos allí una terminal y escribimos

rpm2cpio ../archivo.rpm | cpio -id

La i es para «extraer» y la d para crear directorios si son necesarios. Digo, en caso de que alguien quisiera saberlo. Por supuesto siempre tenemos

cpio --help

para más opciones (la página man del programa no me parece muy útil).

Muchos archivos a abrir recursivamente

También podríamos estar interesados en descomprimir la instalación de la versión de desarrollo de LibreOffice, que está dividida en unos 50 archivos rpm, para hacer pruebas y ver qué tiene de nuevo sin molestar la instalación «normal». Hace ya muchos años escribí sobre esto (aquí, aquí y aquí), pero no está de más el repasar la instrucción.

Como antes, creamos una subcarpeta dentro de la carpeta que contiene todos los rpm, entramos allí y abrimos una terminal para ejecutar el siguiente código

for i in ../*.rpm; do rpm2cpio $i | cpio -id; done

Lo que hace esta línea es crear un bucle que va pasando por todos los archivos rpm, descomprimiéndolos y copiando el contenido recursivamente.

Todo listo.

Anuncios

, ,

  1. #1 por dhouard el 1 julio, 2017 - 10:55

    Yo suelo abrirlo con la order “ar”. con ‘ar x nombreArchivo.rpm” se descomprime en un par de tar.gz y un info.

    Despues, al descomprimir el data.tar.gz se mostrará una ruta de directorios con archivos, generalmente, “usr”.

    Después, ya es sólo cosa de copiar a su destino final.

    Un saludo.

    • #2 por elpinguinotolkiano el 1 julio, 2017 - 11:18

      ¡Buen dato! Esa forma no la conocía. ¡Gracias por compartir!

A %d blogueros les gusta esto: