5

每当我想在 mininet 中运行 sshd.py 示例或我自己编写的一些客户代码时,我都会得到

*** Creating network
*** Adding controller
*** Adding hosts:
h1 h2 h3 h4 h5 
*** Adding switches:
s1 
*** Adding links:
(h1, s1) (h2, s1) (h3, s1) (h4, s1) (h5, s1) 
*** Configuring hosts
h1 h2 h3 h4 h5 
*** Starting controller
Cannot find required executable controller.
Please make sure that it is installed and available in your $PATH:
(/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin)

虽然$ sudo mn --test pingall工作正常!

我想我应该找到开放流控制器可执行文件并将其添加到路径中,但我不知道它在哪里。但是测试创建了一个控制器并且工作正常!

我试图重新安装 mininet

$ ~/mininet/util/install.sh -a or [-fnv]
4

8 回答 8

8

在 Ubuntu 上偶然发现了与 mininet 相同的问题。尝试在构造 Mininet 对象时显式指定控制器类,例如,而不是

net = Mininet(topo)

from mininet.node import OVSController

net = Mininet(topo = topo, controller = OVSController)

这解决了我的问题。

于 2013-07-20T15:13:07.757 回答
5

我希望消息像

找不到所需的可执行“控制器”。

无论如何,只要您在类似 debian 的平台上安装了 ovs-controller,例如由“openvswitch-controller”软件包提供,您所要做的就是

sudo ln /usr/bin/ovs-controller /usr/bin/controller

于 2014-07-19T22:33:43.610 回答
5

在 OVS 的最新版本中,ovs-controller 被重命名为 test-controller。

如果您还没有使用以下命令,请先安装 openvswitch-testcontroller:

 sudo apt-get install openvswitch-testcontroller

其次,创建一个到测试控制器的符号链接:

 sudo ln /usr/bin/ovs-testcontroller /usr/bin/controller 

这对我行得通。

您也可以查看此链接:http: //installfights.blogspot.com.co/2016/09/cannot-find-required-executable.html

于 2017-11-15T16:18:54.973 回答
1

据我所知,安装存在问题。我尝试了 mininet VM,一切正常。

于 2013-07-04T12:22:12.160 回答
1
ubuntu@ubuntu:~$ cd mininet/examples
ubuntu@ubuntu:~/mininet/examples$ dir
baresshd.py  hwintf.py       multipoll.py   scratchnetuser.py
consoles.py  limit.py        multitest.py   simpleperf.py
controllers2.py  linearbandwidth.py  popenpoll.py   sshd.py
controllers.py   milsontest.py       popen.py       tree1024.py
cpu.py       miniedit.py         README     treeping64.py
emptynet.py  multiping.py        scratchnet.py
ubuntu@ubuntu:~/mininet/examples$ nano sshd.py
ubuntu@ubuntu:~/mininet/examples$ sudo python sshd.py

你试过这个吗?

或者,如果您使用 sudo mn 命令,请尝试:

sudo mn --controller=remote
于 2014-02-10T22:33:16.980 回答
1

我遇到了同样的问题,我通过安装新版本的 mininet (2.1.0) 解决了这个问题。使用 2.0.0 版本我什么也做不了。

于 2013-10-29T11:49:46.827 回答
1

我遇到了同样的问题,所以我删除了 mininet,而是使用“apt-get install mininet”再次安装,我下载了源代码并安装了 Mininet VM 中包含的所有内容。这解决了问题。

只需查看网站上的“选项 2:从源代码本地安装”:http: //mininet.org/download/#option-1-mininet-vm-installation-easy-recommended

于 2016-10-22T17:40:55.820 回答
0

运行 MiniEdit 时,刚刚在“SDN Hub 教程 VM 64-bit with Docker”(Ubuntu 14.04)上遇到了这个问题。奇怪的是,当我从这个很棒的教程中运行我的第一个 MiniEdit 拓扑时,没有任何问题。

但是当我关闭 MiniEdit,关闭 Mininet 客户端并继续运行另一个拓扑时,我收到“ Mininet 找不到所需的可执行控制器”错误。

我会注意到,在使用 MiniEdit 时,Mininet Client 明确指出:

NOTE: PLEASE REMEMBER TO EXIT THE CLI BEFORE YOU PRESS  THE STOP BUTTON. Not exiting will prevent MiniEdit from quitting and will prevent you from starting the network again during this sessoin.

在这个 SDN Hub 教程中,我正在使用控制器文件的虚拟机是/usr/bin/ovs-vsctl. 我需要创建一个ln指向名为/usr/bin/controllerMiniNet 的文件的软链接,以查找控制器配置。我用命令做到了这一点:

sudo ln /usr/bin/ovs-vsctl /usr/bin/controller

最后,如果由于现有/剩余的拓扑配置而出现错误,Mininet cleanup 是一个有用的命令。

sudo mn -c
于 2020-06-17T17:47:50.837 回答