Comandos Linux: Convertir Paquetes GNU Linux (deb, rpm, targz) con ALIEN

Muchos de vosotros me habéis pedido que hablara sobre: “Los conversores de paquetes”. Sí, os enseñaré a convertir paquetes en Linux, aunque también algunas cosas a tener en cuenta porque seguramente estarás pensando: “Que bien, por fin podré instalar paquetes Debian en mi Fedora”. ¡Pues no exactamente!

Publicado el 1 de septiembre del 2020 a las 7:55 PM · 0 comentarios · 665 visitas

Muchos de vosotros me habéis pedido que hablara sobre: “Los conversores de paquetes”. Sí, os enseñaré a convertir paquetes en Linux, aunque también algunas cosas a tener en cuenta.

Porque seguramente estarás pensando: “Que bien, por fin podré instalar paquetes Debian en mi Fedora”. ¡Pues no exactamente!

Alien

Para poder convertir paquetes, necesitaremos a Alien. Alien es una herramienta para convertir paquetes, ya sea DEB, RPM, TAR GZ, pepitas….

¿Pepitas?

En Fedora, es fácil instalar Alien, para ello abrimos un terminal y ejecutamos:

sudo dnf install alien

Si por otro lado utilizas una distribución Debian, sería:

sudo apt install alien

Como os gustan tanto los comandos, he pensado que sería interesante hacerlo así. Aunque si utilizas un gestor de paquetes como Synaptic, o Rpmdrake, es tan sencillo como seleccionar el paquete e instalarlo. Por si no quieres utilizar comandos. Aunque luego los tendrás que utilizar.

Una vez tengamos Alien ya podemos convertir paquetes. ¡Bien!

Buscar un Paquete

Lo siguiente que tendríamos que hacer es buscar un paquete. Por ejemplo, un programa llamado MC.

MC significa significa Midnight Commander, un gestor de archivos, pero para el terminal.

Este paquete no lo tengo instalado, significa que si ejecuto “mc” en el terminal, me saldrá un error diciendo que el comando no existe.

Para empezar necesitamos el paquete Debian de este programa, desde los repositorios de Debian, podemos descargarlos.

Desde este enlace descargaré MC:
https://packages.debian.org/search?keywords=mc

¿Qué mejor lugar que el repositorio Debian para descargar un paquete Debian?

Una vez tengamos a nuestro objetivo, lo convertiremos en RPM. Y ahora es cuando empieza la magia.

Cómo convertir el Paquete

Ejecutamos un terminal de comandos, en la misma carpeta donde se encuentre nuestro objetivo:

alien -c paquete.deb -r
  • El argumento C especifica el nombre del paquete a convertir.
  • El argumento R especifica que el paquete se convertirá a RPM.
  • El argumento D especifica que el paquete se convertirá a DEB.

Al hacer esto, ya tenemos el paquete RPM convertido.

Instalar el Paquete

Para instalar MC, ejecutamos:

sudo alien -i -c paquete_deb_convertido.rpm
  • El argumento I especifica que el paquete será instalado.

Esta vez, ya no usaremos el paquete DEB, sino el RPM que hemos obtenido. Y seguramente te preguntarás. ¿Dónde está lo complicado?

Si intentamos ejecutar este programa, con el comando “mc”, nos aparecerá un error: falta una biblioteca llamada “libslang2”.

¿Cual es el dilema? Esto convierte paquetes, y los instala, pero no instala sus dependencias.

¡Ese es el problema! ¿Se puede solucionar? Más o menos.

Tendríamos que repetir el mismo proceso para el paquete que provee al sistema con esa biblioteca.

Es decir, descargar, convertir e instalar este paquete:
https://packages.debian.org/search?keywords=libslang2

Aún así, puede que continúe apareciendo un fallo por falta de bibliotecas (a pesar de haberlas instalado)

¿Qué es lo que pasa ahora?

El paquete DEB instala las bibliotecas en el directorio “/lib/x86_64-linux-gnu”, en cambio, los paquetes RPM, y por ende, Fedora, los instala en el directorio “/lib64/”.

Así que, para que esto funcione, tendría que copiar, con el comando “cp”, la biblioteca que acabo de instalar de un directorio a otro.

sudo cp /lib/x86_64-linux-gnu/la_librería.lib.so /lib64/la_librería.lib.so 

Conclusión

Os voy a ser sincera. He escogido un paquete, un programa, en este caso, con pocas dependencias.

¿Por qué? Para hacer el vídeo y explicar esto.

Quiero dar a entender que es complicado convertir paquetes de un formato a otro y si el paquete tiene muchas dependencias, será un proceso muy entretenido ya que hay que resolverlas una por una manualmente.

A parte de eso, puede haber diferencias de directorio, como lo que me ha pasado con la biblioteca que he instalado.

Habéis visto cómo se hace, más o menos, pero haced esto como última opción, porque se os puede complicar la cosa.

No es recomendable instalar paquetes diferentes a los que utiliza vuestra distribución.

¿Te gusta mi contenido? ¡A mi sí! Si a ti también, puedes seguirme en este blog. ¡Así no te perderás ninguna entrada !

Al suscribirte a mi newsletter, aceptas la política de privacidad de este sitio web.