Jak przekonwertować RPM x86 na DEB x86 w systemie x64?

11

W moim przypadku oprogramowanie, które próbuję przekonwertować, to drukarka etykiet Lacie.

1.- Zmieniłem nazwę RPM

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

2. - Konwertuj paczkę z kosmitą

sudo alien lacie-lightscribe-labeler-1.0.rpm

Błąd:

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

Wiem to:

  • Mógłbym to zrobić w systemie x86, a następnie skopiować go stamtąd.
  • Użyj prostego urządzenia do etykietowania

Jestem ciekawy, jak ogólnie przeprowadzić tę konwersję.

ofiarować
źródło
3
Może to może ci pomóc. Nie jestem pewien, ponieważ nie jestem zaznajomiony alien.
edwin

Odpowiedzi:

14

Proces jest dość łatwy, w skrócie musisz zmodyfikować plik kontrolny i to wszystko.

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

Teraz zmień architekturę ( i386w moim przypadku) na tę, której potrzebujesz. Na przykład dodałem amd64archiwum i oto jak skończyła się linia:

Architecture: i386, amd64

Ostatni krok:

sudo debian/rules binary

Spowoduje to wygenerowanie .debpliku.


Bibliografia:

Gastoni
źródło
+1 Czy można to zrobić na komputerze 32-bitowym? Lub musisz tylko mieć 64 bity, aby to osiągnąć.
pt
9

Sprawiłem, że działa tylko z tym poleceniem:

fakeroot alien --target=amd64 package.i586.rpm
Doeners
źródło
fakeroot w akcji, było przeznaczone do tego rodzaju rzeczy
Muriuki David
Co to za wersja alien? Mam 8.86 na Ubuntu 12.04.5 i targetjest to nieznana opcja. (Czas na aktualizację Ubuntu!)
Roger Dueck
1

Powinno to być również łatwe do obejścia, jak można znaleźć na https://www.maketecheasier.com/convert-32bit-rpm-to-deb-64bit/ - użyj TGZ jako etapu pośredniego:

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

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

--to-debJest domyślne, używane tu tylko być jawne o konwersji.

Następnie zainstaluj dpkgjak zwykle (używając surowego .deb z Alien).

Randall
źródło