Ubuntu上安裝NS3(最詳細的圖文介紹)

前提

  1.首先我們需要安裝好Ubuntu,這個我不在這裏進行詳細的說明了,這個是比較簡單的。
  2.虛擬機已經連接上網絡。(這個可以後面安裝的時候就知道有沒有連上了,正常情況下是電腦連着wifi,虛擬機也會連上的)
  3.本次安裝過程中出現的(y/n)選項全部選擇y。
  4.有的包安裝的時候有的時候可能顯示只有 xxx B/s或者完全不動了,這個不用太在意,有的時候是這樣的,過了那麼一小段(也有可能會好幾分鐘)後速度就會正常起來。

安裝NS3依賴包

第一部分
  首先我們在終端內輸入如下代碼(可以複製黏貼進終端):

sudo apt-get install gcc g++ python python-dev 
或者  apt-get install gcc g++ python python-dev

  第一個一般不會有問題,但使用第二個方法的話這裏有的人可能會報錯:
在這裏插入圖片描述
  如果沒有報錯的跳過下方第一部分的剩餘部分。
  上面的報錯的意思是無法使用apt-get,原因在於其正在其他地方使用中,所以我們需要結束掉那個進程。
  首先檢查是否在運行apt,apt-get相關的進程:

ps aux | grep -i apt 

  然後:

sudo killall apt apt-get 

  一般在這裏就結束了,然後將最開始的那句命令再次輸入即可。解決的話,就直接跳過接下來的第一部分。
  如果上面兩個命令沒有解決的話,說明是鎖定文件的問題,其放置兩個或多個進程使用相同的數據,舉個例子,當前一個apt命令未正確終止時,lock file未被刪除,因此它們會阻止任何新的apt / apt-get命令實例 。
  解決辦法如下,依次輸入如下命令:

lsof /var/lib/dpkg/lock
lsof /var/lib/apt/lists/lock
lsof /var/cache/apt/archives/lock

  需要注意的是,以上命令執行結果如果無返回,說明沒有正在運行的進程;如果返回了相應的進程,需要kill掉,如果上面三個命令執行的時候沒有跳出東西就不用管括號內的東西(使用sudo kill -9 )
  接着我們刪掉所有的lock file:

sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock

  然後重新配置一下dpkg:

sudo dpkg --configure -a 

  這個時候再去試試能不能使用最開始的那行代碼,如果可以了的話就跳過下面紅色部分。
  但有的人可能在這裏會出現下面這個錯誤:
在這裏插入圖片描述
  這說明我們的lock file被鎖定了,需要進行額外的處理。我們需要找出鎖定的lock file進程:

lsof /var/lib/dpkg/lock-frontend 

  如果上面這個命令輸出爲空的話,就不用管括號內的內容(如果有輸出的話,需要使用sudo kill -9 processID來刪除該進程)
  然後刪除掉lock file並重新配置:

sudo rm /var/lib/dpkg/lock-frontend
sudo dpkg --configure -a

  然後我們再輸入最開始的那行代碼後,就能成功運行了:
在這裏插入圖片描述
第二部分
  然後我們執行完第一條命令後,開始執行下面的命令:

sudo apt-get install mercurial 
sudo apt-get install bzr 
sudo apt-get install gdb valgrind 
sudo apt-get install gsl-bin libgsl0-dev libgsl0ldbl

  這裏前三行應該是不會報錯的(我沒有出錯),然後如果運行最後一行命令出現錯誤,看下方綠字,如果沒有出錯的直接跳過綠字:
  這個時候我們只需要根據提示改正就好,第一步提示選中“libgsl-dev”而非“libgsl0-dev”,我們原命令的“libgsl0-dev”替換成“libgsl-dev”就可以(這個其實可以不用管,因爲下面有推薦的替換包可以直接使用,所以我在這裏只是單單的寫一下);還有一個錯誤,說的是libgsl0ldbl這個軟件包不存在,但是提示有東西可以替換(這裏顯示的是libgsl23 libgslcblas0:i386 libgsl23:i386 libgslcblas0 可以用來替換他,這個在上圖中的倒數第二行中),安裝可以替換它的軟件包:(這裏根據不同的用戶,可能出現的提示會有所不同,根據他跳出來的提示來替換即可),最後案例的命令如下所示:
在這裏插入圖片描述
  運行完這一步,我們接下來繼續執行下面的一些命令:

sudo apt-get install flex bison libfl-dev 
sudo apt-get install tcpdump 
sudo apt-get install sqlite sqlite3 libsqlite3-dev 
sudo apt-get install libxml2 libxml2-dev 
sudo apt-get install libgtk2.0-0 libgtk2.0-dev 
sudo apt-get install vtun lxc 
sudo apt-get install uncrustify 
sudo apt-get install doxygen graphviz imagemagick 
sudo apt-get install texlive texlive-latex-extra texlive-generic-extra texlive-generic-recommended
sudo apt-get install texinfo dia texlive texlive-latex-extra texlive-extra-utils texlive-generic-recommended texi2html 
sudo apt-get install python-sphinx dia 
sudo apt-get install python-pygraphviz python-kiwi
sudo apt-get install qt4-qmake 
sudo apt-get install qt4-dev-tools 
sudo apt-get install libboost-signals-dev libboost-filesystem-dev
sudo apt-get install openmpi-bin openmpi-doc libopenmpi-dev

  這裏前面沒什麼問題的話,依賴包就全部下載好了。這裏需要注意的是,qt4-dev-tools下載的比較慢(我這裏下了大概快1個半小時)

NS3安裝包

  接着我們輸入下面的命令:

cd
mkdir tarballs
cd tarballs
wget http://www.nsnam.org/release/ns-allinone-3.27.tar.bz2

  然後我們就可以開始下載了
在這裏插入圖片描述
  下載完成以後,我們將它解壓,使用下面的命令:

tar -xjvf ns-allinone-3.27.tar.bz2

在這裏插入圖片描述
  進入文件夾中,然後開始安裝:

cd ns-allinone-3.27 
sudo ./build.py 

在這裏插入圖片描述
  編譯完1823個文件後,可以看見如下界面:
在這裏插入圖片描述
  最後要說明的是,因爲這裏是第一次使用,所以使用的是sudo ./build.py,這是一個python腳本,從第二次使用開始及以後,需要使用waf編譯,這個目前我也沒玩過,所以暫時就不寫了。
  安裝好後我們需要測試了下,使用如下命令進行‘hello simulator’的程序運行:

cd ns-3.27 
sudo ./waf  --run hello-simulator 

  如果沒有問題,下面的文字就不用看了,你已經順利安裝成功了。
  但如果你出現了問題:
在這裏插入圖片描述
  需要使用以下代碼修正以下。

cd ns-3.27 
sudo ./waf clean 
sudo ./waf -d debug --enable-example --enable-tests configure  
sudo ./waf 

  這時候需要再編譯2552個文件,編譯完成後,再輸入上面的測試命令以後,應該會出現“Hello Simulator”的字樣,這就說明你已經成功安裝好了NS3:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章