将 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
您也可以使用fpm
将rpm
转换为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 错误(包构建失败)的主要内容,如果未能解决你的问题,请参考以下文章