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

giv*_*nse 11 64-bit rpm 32-bit deb alien

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

1.- 我重命名了 RPM

mv LaCie\ LightScribe\ Labeler\ 1.0\ Linux.rpm lacie-lightscribe-labeler-1.0.rpm
Run Code Online (Sandbox Code Playgroud)

2.- 用外星人转换包

sudo alien lacie-lightscribe-labeler-1.0.rpm
Run Code Online (Sandbox Code Playgroud)

错误:

lacie-lightscribe-labeler-1.0.rpm is for architecture i386 ; the package cannot be built on this system
Run Code Online (Sandbox Code Playgroud)

我知道:

  • 我可以在 x86 系统中执行此操作,然后从那里复制它。
  • 使用简单的贴标机

我很好奇一般如何进行这种转换。

giv*_*nse 15

这个过程很简单,总之你需要修改控制文件,就是这样。

sudo alien -g package-name.rpm
cd package-dir/
sudo vi debian/control
Run Code Online (Sandbox Code Playgroud)

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

Architecture: i386, amd64
Run Code Online (Sandbox Code Playgroud)

最后一步:

sudo debian/rules binary
Run Code Online (Sandbox Code Playgroud)

这将生成.deb文件。


参考:


小智 10

我只用这个命令让它工作:

fakeroot alien --target=amd64 package.i586.rpm
Run Code Online (Sandbox Code Playgroud)