¿Cómo convierto un x86 RPM en un x86 DEB dentro de un sistema x64?


11

En mi caso, el software que estoy tratando de convertir es la etiquetadora Lacie lightscribe.

1.- Cambié el nombre de RPM

mv LaCie\ LightScribe\ Labeler\ 1.0\ Linux.rpm lacie-lightscribe-labeler-1.0.rpm

2.- Convertir el paquete con alien

sudo alien lacie-lightscribe-labeler-1.0.rpm

Error:

lacie-lightscribe-labeler-1.0.rpm is for architecture i386 ; the package cannot be built on this system

Yo sé eso:

  • Podría hacer esto en un sistema x86 y luego copiarlo desde allí.
  • Usa la etiquetadora simple

Tengo curiosidad acerca de cómo hacer esta conversión en general.


3
Quizás esto te pueda ayudar. No estoy seguro ya que no estoy familiarizado alien.
edwin

Respuestas:


14

El proceso es bastante fácil, en resumen, necesita modificar el archivo de control y listo.

sudo alien -g package-name.rpm
cd package-dir/
sudo vi debian/control

Ahora cambie la arquitectura ( i386en mi caso) para que sea la que necesita. Por ejemplo, agregué el amd64archivo y así es como terminó la línea:

Architecture: i386, amd64

Último paso:

sudo debian/rules binary

Esto producirá el .debarchivo.


Referencias


+1 ¿Se puede hacer eso también en una máquina de 32 bits? O solo necesita estar en 64 bits para lograr eso.
fkl

9

Lo hice funcionar solo con este comando:

fakeroot alien --target=amd64 package.i586.rpm

fakeroot en acción, estaba destinado a este tipo de cosas
Muriuki David

¿De qué versión alienes esa? Tengo 8.86 en Ubuntu 12.04.5, y targetes una opción desconocida. (¡Es hora de actualizar Ubuntu!)
Roger Dueck

1

Esto también debería ser una solución fácil, como se encuentra en https://www.maketecheasier.com/convert-32bit-rpm-to-deb-64bit/ - use TGZ como una etapa intermedia:

sudo alien --scripts --to-tgz <package.rpm>

sudo alien --scripts --to-deb <package.tgz>

El --to-debes un valor predeterminado, utilizado aquí solo para ser explícito sobre las conversiones.

Luego, instálelo dpkgcomo de costumbre (cuando use un .deb sin formato de Alien).


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.