如何在 x64 系统内将 x86 RPM 转换为 x86 DEB?

如何在 x64 系统内将 x86 RPM 转换为 x86 DEB?

就我而言,我尝试转换的软件是 Lacie lightscribe 标签机。

1.- 我重命名了 RPM

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

2.- 使用以下方法转换包外星人

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 系统中执行此操作,然后从那里复制它。
  • 使用简单的标签机

我很好奇通常如何进行这种转换。

答案1

这个过程很简单,简而言之,你需要修改控制文件就可以了。

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

现在将架构(i386在我的情况下)更改为您需要的架构。例如,我添加了架构amd64,这就是该行的最终结果:

Architecture: i386, amd64

最后一步:

sudo debian/rules binary

这将生成该.deb文件。


参考:

答案2

我仅使用以下命令使其工作:

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

答案3

这也应该是一个简单的解决方法,正如在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 时)。

相关内容