Bir x86 RPM'yi x64 sisteminde x86 DEB'ye nasıl dönüştürebilirim?


11

Benim durumumda, dönüştürmeye çalıştığım yazılım Lacie lightscribe etiketleyicisidir.

1. RPM'yi yeniden adlandırdım

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

2.- paketi yabancı ile dönüştürmek

sudo alien lacie-lightscribe-labeler-1.0.rpm

Hata:

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

Bunu biliyorum:

  • Bunu bir x86 sisteminde yapabilir ve oradan kopyalayabilirim.
  • Basit etiketleyiciyi kullanın

Bu dönüşümü genel olarak nasıl yapacağımı merak ediyorum.


3
Belki bu size yardımcı olabilir. Ben aşina olmadığımdan emin değilim alien.
edwin

Yanıtlar:


14

İşlem oldukça kolaydır, kısaca kontrol dosyasını değiştirmeniz gerekir ve hepsi bu.

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

Şimdi mimariyi ( i386benim durumumda) ihtiyacınız olan mimari olarak değiştirin . Örneğin, amd64arşivi ekledim ve çizgi şu şekilde bitti:

Architecture: i386, amd64

Son adım:

sudo debian/rules binary

Bu .debdosyayı üretecektir .


Referanslar:


+1 Bunu 32 bitlik bir makinede de yapabilir misiniz? Ya da bunu başarmak için sadece 64 bit olması gerekir.
fkl

9

Sadece bu komutla çalışmasını sağladım:

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

fakeroot eylem, bu tür bir şey için yapıldı
Muriuki David

Hangi versiyonu alienbu? Ubuntu 12.04.5'te 8.86 var ve targetbilinmeyen bir seçenek. (Ubuntu'yu yükseltme zamanı!)
Roger Dueck

1

Bu, https://www.maketecheasier.com/convert-32bit-rpm-to-deb-64bit/ adresinde bulunan kolay bir çözüm olmalıdır - TGZ'yi ara aşama olarak kullanın:

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

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

--to-debBurada kullanılan varsayılan, yalnızca dönüşümler konusunda açık olmaktır.

Ardından, dpkgher zamanki gibi yükleyin (Alien'den ham bir .deb kullanırken).


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.