最近在學習SDN,需要使用網路仿真工具mininet,反反復復折騰了好長時間,嘗試了完整安裝,也嘗試了主要檔案安裝,不是主機之間無法通信,就是指定的openvswitch安裝不上,所以我單獨安裝了mininet和openvswitch,也不是說安裝有多難,但就是安裝完成之后總出問題,今天可能安裝成功了,過兩天說不定又安裝不了了,又得折騰老長時間,所以為了解決這個問題,我直接將成功安裝mininet的所有步驟寫成了一個腳本,沒有什么技術含量,目的就是解決安裝mininet總是不成功的問題
腳本執行的原理就是使用python執行Linux命令,這里就是執行安裝mininet所需的全部命令,再直白點就是不需要你一條一條的去敲命令了,直接運行腳本就可以幫你執行安裝命令了
演示一下吧



這里我把腳本中的命令都貼出來了,大家可以在Linux中創建一個python檔案然后將腳本中的命令都復制進去,直接運行就可以了
再強調一遍這個腳本只適用于Ubuntu系統,因為腳本中的命令都是Ubuntu中的命令,其他系統無法執行
修改版本
可以修改安裝mininet的版本,修改os.system("git checkout 2.3.0")這條命令中的版本
也可以修改安裝openvswitch的版本,修改os.system("./install.sh -n3V 2.15.0")和os.chdir("./openvswitch/openvswitch-2.15.0")這兩條命令中的版本
這里我親測的是mininet2.3.0和openvswitch2.15.0
腳本命令
import os
# 更新安裝源
os.system("apt-get update")
# 安裝git
os.system("apt install -y git")
# 下載mininet
os.system("git clone git://github.com/mininet/mininet")
# 進入mininet目錄
os.chdir("./mininet")
# 修改安裝版本
os.system("git checkout 2.3.0")
# 進入安裝目錄
os.chdir("./util")
# 安裝mininet,這里雖然指定安裝openvswitch,但他只會幫我們下載安裝檔案,并不會幫我們安裝,所以還要我們自己安裝,可以指定openvswitch的版本
os.system("./install.sh -n3V 2.15.0")
# 切換到原目錄
os.chdir("../../")
# 進入openvswitch目錄
os.chdir("./openvswitch/openvswitch-2.15.0")
# 編譯檔案
os.system("./configure")
# 安裝編譯命令
os.system("apt install -y make")
os.system("make")
os.system("make install")
os.system("/sbin/modprobe openvswitch")
# 添加環境變數
os.environ["PATH"] += os.pathsep + "/usr/local/share/openvswitch/scripts"
# 啟動
os.system("ovs-ctl start")
# 添加環境變數
os.environ["PATH"] += os.pathsep + "/usr/local/share/openvswitch/scripts"
# 啟動
os.system("ovs-ctl --no-ovs-vswitchd start")
# 添加環境變數
os.environ["PATH"] += os.pathsep + "/usr/local/share/openvswitch/scripts"
# 啟動
os.system("ovs-ctl --no-ovsdb-server start")
print("APPLICATION INSTALLED SUCCESSED")
如果大家還是覺得麻煩,可以下載這個python檔案,然后上傳到機器中直接執行就可以了,我把檔案的下載地址放到下面了
下載地址:https://pan.baidu.com/s/1gDSvt8G2ilMTerObp5mE9A
提取碼:hqjl
可能因為網速等原因有的檔案沒有下載成功,大家可以嘗試多執行幾次腳本
腳本是我親測過的,但因為每個人的機器不同,問題不同,所以也不能保證會絕對安裝成功,大家見諒
相關文章
SDN RYU控制器安裝腳本(全自動,解放雙手)僅適用于Ubuntu
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/279914.html
標籤:其他
上一篇:通過有線網卡共享無線網路
