web-dev-qa-db-ja.com

x64システム内でx86 RPMをx86 DEBに変換するにはどうすればよいですか?

私の場合、変換しようとしているソフトウェアはLacie lightscribeラベラーです。

1.- RPMの名前を変更しました

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

2.- alienでパッケージを変換します

Sudo alien lacie-lightscribe-labeler-1.0.rpm

エラー:

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

そんなこと知ってる:

  • これをx86システムで行い、そこからコピーできます。
  • シンプルなラベラーを使用する

一般的にこの変換を行う方法について興味があります。

11
givanse

プロセスは非常に簡単です。要するに、制御ファイルを変更する必要があります。

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

次に、アーキテクチャ(i386)を必要なものに変更します。たとえば、AMD64アーキテクチャを追加しましたが、これが最終的な行です。

Architecture: i386, AMD64

最後のステップ:

Sudo debian/rules binary

これにより、.debファイルが生成されます。


参照:

14
givanse

私はそれをこのコマンドだけで動作させました:

fakeroot alien --target=AMD64 package.i586.rpm
9
Doeners

https://www.maketecheasier.com/convert-32bit-rpm-to-deb-64bit/ にあるように、これも簡単な回避策でなければなりません-TGZを中間段階として使用します:

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

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

--to-debはデフォルトであり、ここでは変換について明示するためにのみ使用されます。

次に、通常どおりdpkgを使用してインストールします(Alienの生の.debを使用する場合)。

1
Randall