将 rpm 文件转换为 debian 错误(包构建失败)

Posted

技术标签:

【中文标题】将 rpm 文件转换为 debian 错误(包构建失败)【英文标题】:converting rpm files to debian error (package build failed) 【发布时间】:2021-05-26 11:22:57 【问题描述】:

在我安装了外星人之后 在下载文件夹中有zenmap

当我运行此命令 alien zenmap-7.91-1.noarch.rpm 或任何与之相关的命令时,我会收到此错误

包构建失败。这是日志:

dh
dh: error:specify sequence to run
make:***[debian/rules:7:binary]Error 25

如何解决这个错误?请帮忙...

【问题讨论】:

【参考方案1】:

首先,为了确保您没有任何 rpm 问题,请运行以下命令:

apt-get --fix-broken install

那么你可能需要这些:

wget http://archive.ubuntu.com/ubuntu/pool/universe/p/pygtk/python-gtk2_2.24.0-5.1ubuntu2_amd64.deb

wget http://azure.archive.ubuntu.com/ubuntu/pool/universe/p/pygobject-2/python-gobject-2_2.28.6-14ubuntu1_amd64.deb

wget http://security.ubuntu.com/ubuntu/pool/universe/p/pycairo/python-cairo_1.16.2-2ubuntu2_amd64.deb

dpkg -i python-gobject-2_2.28.6-14ubuntu1_amd64.deb 

dpkg -i python-cairo_1.16.2-2ubuntu2_amd64.deb

dpkg -i python-gtk2_2.24.0-5.1ubuntu2_amd64.deb

在您安装完所有内容后,请确保我们的外星人版本是 8.90。

移除外星人:

apt-get remove alien

下载外星人8.90版本here。

安装外星人:

dpkg -i alien_8.90_all.deb

现在我们将找到我们的 zenmap 文件并运行这些命令:

sudo alien zenmap-7.91-1.noarch.rpm

sudo dpkg -i **YOUR-ZENMAP-FILE**.deb

如果这些命令运行良好,您现在可以运行:

sudo zenmap

等等! :)

【讨论】:

【参考方案2】:

我在 kali linux 中安装 Zenmap 时遇到了同样的问题。

包构建失败。这是日志: dh: 错误: 指定一个序列来运行 make: *** [debian/rules:7: binary] 错误 25

为了解决这个问题,我不得不降级到 Alien 版本 8.90,因为我使用的是 8.95.3

网上有一些信息,更新日志中也有详细说明,解释了对最新外星人更新执行的一些更改以及它们如何读取 dh 标头。 Zenmap.rpm 包似乎与这些更新不兼容。

我已降级到不同的 Alien 版本以跳过这些 dh 验证更改。

为此,我卸载了当前的外星人版本

apt-get remove alien

然后,我从https://pkgs.org/download/alien下载了Ubuntu Main amd64 Official alien_8.90_all.deb

installed with: dpkg -i alien_8.90_all.deb

在此处下载最新的 Zenmap rpm 版本 https://nmap.org/dist

并成功将rpm转换为deb运行

alien zenmap-X.XX.noarch.rpm

将 RPM 转换为 .deb 后,您可以运行

dpkg -i zenmap-X.XX.noarch.deb

应用程序无法打开,从 CLI 运行我发现某些 python 库无法加载

无法导入 zenmapGUI.App 模块:“没有名为 gtk 的模块”。一世 检查这些目录: /usr/bin /usr/share/offsec-awae-wheels/colorama-0.4.3-py2.py3-none-any.whl /usr/share/offsec-awae-wheels/pyOpenSSL-19.1.0-py2.py3-none-any.whl ...

按照this post 的建议,我下载了软件包:

wget http://archive.ubuntu.com/ubuntu/pool/universe/p/pygtk/python-gtk2_2.24.0-5.1ubuntu2_amd64.deb
wget http://azure.archive.ubuntu.com/ubuntu/pool/universe/p/pygobject-2/python-gobject-2_2.28.6-14ubuntu1_amd64.deb
wget http://security.ubuntu.com/ubuntu/pool/universe/p/pycairo/python-cairo_1.16.2-2ubuntu2_amd64.deb

然后用 dpkg 安装

dpkg -i python-gtk2_2.24.0-5.1ubuntu2_amd64.deb 
dpkg -i python-gobject-2_2.28.6-14ubuntu1_amd64.deb 
dpkg -i python-cairo_1.16.2-2ubuntu2_amd64.deb

现在 Zenmap 运行良好。

【讨论】:

安装外星人后能再解释一下如何安装zenmap吗?不知何故,我错过了你解释中的这一部分。 刚刚编辑了帖子:安装 Alien 8.90 后,您将能够将 RPM 转换为运行外星人 zenmap-X.XX.noarch.rpm 的 deb RPM 转换为 .deb 后,你可以运行 dpkg -i zenmap-X.XX.noarch.deb 来安装【参考方案3】:

您可以使用-i 选项直接安装软件包:

sudo alien -i zenmap-7.91-1.noarch.rpm

您也可以使用fpmrpm 转换为deb,以进行安装:

sudo apt install ruby ruby-dev rubygems build-essential
sudo gem install --no-document fpm

转换:

fpm -s rpm -t deb zenmap-7.91-1.noarch.rpm 

【讨论】:

【参考方案4】:

我遇到了同样的问题,我正在使用

alien -i package.rpm

我相信这个错误的发生是因为靶心版本从bullseye/main alien all 8.95+nmu1 更新到bullseye/main alien all 8.95.3。更新 Debian 首选项以使用版本 buster/main alien all 8.95 从 buster 安装外星人为我解决了这个问题!希望这会有所帮助!

【讨论】:

以上是关于将 rpm 文件转换为 debian 错误(包构建失败)的主要内容,如果未能解决你的问题,请参考以下文章

使用alien命令让deb包和rpm互相转换

如何在基于 Debian 的系统中构建 RPM 包?

CentOS 7如何将.deb文件转换.rpm

ubuntu软件管理

Ubuntu软件管理

ubuntu下安装rpm