Como converter um RPM x86 em um DEB x86 em um sistema x64?


11

No meu caso, o software que estou tentando converter é o rotulador Lacie lightscribe.

1.- Renomeei o RPM

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

2.- Converta o pacote com alienígena

sudo alien lacie-lightscribe-labeler-1.0.rpm

Erro:

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

Eu sei disso:

  • Eu poderia fazer isso em um sistema x86 e copiá-lo a partir daí.
  • Use o rotulador simples

Estou curioso sobre como fazer essa conversão em geral.


3
Talvez isso possa ajudá-lo. Não tenho certeza, pois não estou familiarizado alien.
edwin 21/07

Respostas:


14

O processo é bastante fácil, em resumo, você precisa modificar o arquivo de controle e é isso.

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

Agora mude a arquitetura ( i386no meu caso) para ser a que você precisa. Por exemplo, adicionei a amd64arquitetura e foi assim que a linha acabou:

Architecture: i386, amd64

Último passo:

sudo debian/rules binary

Isso produzirá o .debarquivo.


Referências:


+1 Também é possível fazer isso em uma máquina de 32 bits? Ou você só precisa estar em 64 bits para conseguir isso.
Fkl

9

Eu fiz funcionar com apenas este comando:

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

fakeroot em ação, ele foi concebido para este tipo de coisa
Muriuki David

Que versão aliené essa? Eu tenho 8.86 no Ubuntu 12.04.5 e targeté uma opção desconhecida. (Tempo para atualizar o Ubuntu!)
Roger Dueck

1

Isso também deve ser uma solução fácil, como pode ser encontrado em https://www.maketecheasier.com/convert-32bit-rpm-to-deb-64bit/ - use o TGZ como um estágio intermediário:

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

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

O --to-debé um padrão, usado aqui apenas para ser explícito sobre as conversões.

Em seguida, instale com dpkgcomo de costume (ao usar um .deb bruto da Alien).


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.