由于依赖性问题,无法在 Ubuntu 22.04 上安装 Zenmap

由于依赖性问题,无法在 Ubuntu 22.04 上安装 Zenmap

问题就在这里,基本上我已经研究过 Zenmap 的依赖项。它依赖于 Python GTK 之类的东西这里。但是当使用

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

sudo apt install ./python-gtk2_2.24.0-5.1ubuntu2_amd64.deb 

存在一些依赖问题,例如

seek4samurai@ubuntu:~$ sudo apt install ./python-gtk2_2.24.0-5.1ubuntu2_amd64.deb 
[sudo] password for seek4samurai: 
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Note, selecting 'python-gtk2' instead of './python-gtk2_2.24.0-5.1ubuntu2_amd64.deb'
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 python-gtk2 : Depends: python (< 2.8) but it is not installable
               Depends: python (>= 2.7) but it is not installable
               Depends: python:any (>= 2.6.6-7~) but it is not installable
               Depends: python-cairo (>= 1.0.2-1.1) but it is not installable
               Depends: python-gobject-2 (>= 2.21.3) but it is not installable
E: Unable to correct problems, you have held broken packages.

现在我已经安装了 python2.7.18和两个版本3.10.4。虽然在终端中输入 python 会启动python 2.7.18

请告诉我如何修复此问题。谢谢。

答案1

我遇到了同样的问题,使用许多“操作指南”中列出的 deb 包根本不起作用。Python 2.x 已完全淘汰,您最不希望看到的就是系统上有一堆过时的包。幸运的是,有人分叉了 nmap 并将 Zenmap 更新为 Python 3。您可以相当轻松地从此源安装:

1. 安装先决条件

$ sudo apt install build-essential checkinstall zlib1g-dev libssl-dev libcurl4-openssl-dev

2.从github获取源代码

$ cd ~/Downloads
$ wget https://github.com/nmap/nmap/archive/refs/heads/master.zip -O nmap.zip

$ unzip nmap.zip

$ cd nmap-master

3. 修复 Zenmap 配置文件

当前 Zenmap 配置文件中存在错误,如果不修复,Zenmap 将无法找到您的 nmap 二进制文件。

$ nano zenmap/share/zenmap/config/zenmap.conf

导航至第 60 行并修复 [paths] 部分。更改以下内容:

[paths]
nmap_command_path = ../nmap
ndiff_command_path = ../ndiff/ndiff

对此:

[paths]
nmap_command_path = nmap
ndiff_command_path = ndiff

如果您已安装好所有内容,但 Zenmap 找不到 nmap,您可以对主文件夹中的文件执行相同的修复:

~/.zenmap/zenmap.conf

4.编译安装

$ ./configure
$ make
$ sudo make install

5. 运行 Zenmap

为了充分利用 Zenmap 的功能,建议以 root 身份运行。

$ sudo -i zenmap

就这样!祝 nmapping 愉快!

答案2

在 20.04 上我不需要 python-gtk。

第一的,我安装了 nmap 的构建依赖项:

sudo apt update
sudo apt build-dep nmap

然后,从github下载(克隆)源代码:

cd
git clone https://github.com/nmap/nmap.git

下一个,进入 nmap 目录:

cd nmap

最后、配置、编译:

./configure
make

可选,安装到系统:

sudo make install

或者不安装到系统:

此时,您可以进入~/nmap/zenmap目录,然后运行 ​​zenmap:

cd zenmap
sudo -i ./zenmap

或者:

sudo -i ~/nmap/zenmap/zenmap

sudo -i或者,为assudoi和创建别名zenmap

echo alias sudoi=\"sudo -i \" >> ~/.bashrc
echo alias zenmap=\"/home/$USER/nmap/zenmap/zenmap\" >> ~/.bashrc

执行以下 .bashrc 文件来应用更改:

. ~/.bashrc

然后您可以使用 sudo 运行 zenmap:

sudoi zenmap

答案3

请参阅 Just_Alex 的回答如何在 Ubuntu 22.04 上安装 Mendeley?以 开头When installing Mendeley on Ubuntu 22.04 I was met with the following Error :

Just_Alex 引用了关于https://serverfault.com/a/383958python从 中删除依赖项python-gtk2_2.24.0-5.1ubuntu2_amd64.deb

一旦您删除了依赖项并重新打包了.deb,您将需要 wget cairo 和 gobject-2 .debs。

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

最后,安装三个 .deb(记住,python-gtk2_2.24.0-5.1ubuntu2_amd64.deb必须先更新并重新打包):

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

之后,您应该能够继续安装/运行 Zenmap。

相关内容