SDN网络_Mininet_Ryu安装

Mininet安装及使用

一、Mininet安装

1.Linux(Ubuntu)软件包更新

sudo apt-get update
sudo apt-get upgrade
  • sudo apt-get update命令的作用是更新系统软件包列表。当执行这个命令时,系统会连接到Ubuntu的软件仓库服务器,检查所有软件包的最新版本信息并下载这些信息到本地。这是确保能获取到软件最新版本和安全更新的前提。因为软件仓库的内容会定期更新,所以即使在安装Ubuntu时软件包是最新版本,过一段时间也可能有更新可用。
  • 一旦你的软件包列表通过sudo apt-get update命令更新了,接下来使用sudo apt-get upgrade命令会将系统中已安装的软件包升级到它们的最新版本(基于刚才更新的软件包列表)。这个过程不会安装新的软件包,只会更新现有的软件包到最新版本,以获得新功能和安全修复。

2.Mininet克隆下载

git clone git://github.com/mininet/mininet.git
or
git clone https://github.com/mininet/mininet.git
or
git clone https://gitclone.com/github.com/mininet/mininet.git

git://github.com/mininet/mininet.git有时会拒绝连接

3. Mininet安装

  • Ubuntu16.04 root_python版本 python2.7 / python3.5
  • Ubuntu20.04 root_python版本 python2.7 / python3.8
cd mininet/util
# Mininet安装两种选择
# python2版本
PYTHON=python2 ./install.sh -n3v
# or python3版本
PYTHON=python3 ./install.sh -n3v

注意:当使用python3版本时,因涉及后续mininet文件修改及编译最好将install.sh中 PYTHON变量修改

# Attempt to detect Python version
PYTHON=${PYTHON:-python}
PRINTVERSION='import sys; print(sys.version_info)'
PYTHON_VERSION=unknown
# for python in $PYTHON python2 python3; do  # 需要修改处、需要修改处、需要修改处、需要修改处、需要修改处、需要修改处#
for python in $PYTHON python3; do  			 # ****************************************************************#
    if $python -c "$PRINTVERSION" |& grep 'major=2'; then
        PYTHON=$python; PYTHON_VERSION=2; PYPKG=python
        break
    elif $python -c "$PRINTVERSION" |& grep 'major=3'; then
        PYTHON=$python; PYTHON_VERSION=3; PYPKG=python3
        break
    fi
done

4. Mininet测试

sudo mn

二、Ryu安装

1. Ryu克隆下载

 git clone git://github.com/osrg/ryu.git
 or 
 git clone https://github.com/osrg/ryu.git
 or 
 git clone https://gitclone.com/github.com/osrg/ryu.git

git://github.com/github.com/osrg/ryu.git有时会拒绝连接

2. Ryu安装

注意:首先需要确定使用的python版本及位置,便于后续编写自定义的ryu app时,安装及导入额外的python包

  • Ubuntu16.04 root_python版本 python2.7 / python3.5
  • Ubuntu20.04 root_python版本 python2.7 / python3.8
  • (推荐)anaconda自定义环境下python版本 不要在python2版本或python3.9以上版本安装ryu,版本兼容性
# 注:$后为bash命令
your_username@ubuntu:~$cd ryu
 # (选择一)此方式为安装在root_python版本下,确保python命令指向python3版本
your_username@ubuntu:~/ryu$python ./setup.py install 
 # (选择二)(推荐)此方式为安装在anaconda_env_python版本下,python命令即指向创建conda环境时的python版本(位置)
(your_conda_env)your_username@ubuntu:~/ryu$python ./setup.py install 

遇到问题:使用conda_python3.8环境安装ryu时遇到问题(setuptools版本过高)

AttributeError: module ‘setuptools._distutils’ has no attribute ‘....

解决方案:卸载重安装setuptools(python3.8)

(your_conda_env)your_username@ubuntu:~/ryu$pip uninstall setuptools
(your_conda_env)your_username@ubuntu:~/ryu$pip install setuptools==59.5.0

3. Ryu测试

cd ryu/ryu/app
ryu-manager simple_switch.py 
  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值