前言
因為網路模擬的課程,所以需要用到 NS2 這套模擬軟體,
這套軟體簡介可上網搜尋,NS2 在 Linux 和 Windows 都有可安裝的方法,
本篇介紹 ns-allinone-2.35 安裝於 Ununtu 11.04 上。
實作
方法1:
安裝完 Ubuntu 11.04 後 執行以下指令,
sudo apt-get update // 更新
sudo apt-get upgrade // 升級套件
sudo reboot // 更新後要重新開機
sudo apt-get install ns2 // 安裝 ns2 套件
基本上這樣 ns2 就安裝完了,但是這段期間 Ubuntu 預設的更新網站發生問題,
導致 ns2 套件無法下載安裝,如果出現以下訊息
無法取得 http://tw.archive.ubuntu.com/ubuntu/pool/universe/o/otcl/libotcl1_1.14~RC3+dfsg1-1_i386.deb,403 Forbidden
無法取得 http://tw.archive.ubuntu.com/ubuntu/pool/universe/n/ns2/ns2_2.35~RC6-3_i386.deb,403 Forbidden
E: 有部份套件檔無法取得,試著執行 apt-get update 或者試著加上 --fix-missing 選項?
請修改更新網站的網址,
指令如下,
sudo vi /etc/apt/sources.list // vi 為文件編輯器,可替換成其他編輯器,如 gedit
將文中的 tw.archive.ubuntu.com 全部取代成 free.nchc.org.tw,
然後再重新執行以上所述步驟,
sudo apt-get update // 更新
sudo apt-get upgrade // 升級套件
sudo reboot // 更新後要重新開機
sudo apt-get install ns2 // 安裝 ns2 套件
應該就可以了?! (未測試)
p.s. 方法一似乎也適用於Ubuntu 11.10 (本人的同學們親身試用過)
方法2:
我是用方法2實作成功的,安裝完 Ubuntu 11.04 後,
不管是方法幾,安裝完Ubuntu,請先執行
sudo apt-get update // 更新
1. 下載 ns-allinone-2.35
可以上網自行搜尋,或從以下網址下載,
http://sourceforge.net/projects/nsnam/files/allinone/ns-allinone-2.35/ns-allinone-2.35.tar.gz/download
因為這個套件似乎會隨著ns2的更新而更動,所以在此也提供原下載網址
http://www.isi.edu/nsnam/ns/ns-build.html
( 到網頁中間找到 "Getting everything at once" 下方有一個"current release 2.XX" 看當時最新的版本為何)
2. 接著,進入終端機,到下載好的ns-allinone-2.35.tar.gz 所在的目錄底下
tar -zxvf ns-allinone-2.35.tar.gz // 將 ns-allinone-2.35 解壓縮
3. 解壓縮完後,將目錄切換到 ns-allinone-2.35 下
cd ns-allinone-2.35 // 切換目錄
./install // 開始安裝 ns-allinone-2.35
............................................................................................................
接著你需要一段漫長的等待,
............................................................................................................
安裝完後,可能有以下幾種情形:(安裝時遇到的狀況以筆者親身經歷為主)
狀況一:(你很幸運的沒有"人品問題",而成功安裝)
那你會先看到以下訊息:
Ns-allinone package has been installed successfully.
Here are the installation places:
tcl8.4.14: /home/gogg/ns-allinone-2.31/{bin,include,lib}
tk8.4.14: /home/gogg/ns-allinone-2.31/{bin,include,lib}
otcl: /home/gogg/ns-allinone-2.31/otcl-1.13
tclcl: /home/gogg/ns-allinone-2.31/tclcl-1.19
ns: /home/gogg/ns-allinone-2.31/ns-2.31/ns
nam: /home/gogg/ns-allinone-2.31/nam-1.13/nam
xgraph: /home/gogg/ns-allinone-2.31/xgraph-12.1
gt-itm: /home/gogg/ns-allinone-2.31/itm, edriver, sgb2alt, sgb2ns, sgb2comns, sgb2hierns
接著是,
Please put /home/gogg/ns-allinone-2.31/bin:/home/gogg/ns-allinone-2.31/tcl 8.4.14/unix:/home/gogg/ns-allinone-2.31/tk8.4.14/unix
into your PATH environment; so that you'll be able to run itm/tclsh/wish/xgraph.
IMPORTANT NOTICES:
(1) You MUST put /home/gogg/ns-allinone-2.31/otcl-1.13, /home/gogg/ns-alli none-2.31/lib,
into your LD_LIBRARY_PATH environment variable.
If it complains about X libraries, add path to your X libraries
into LD_LIBRARY_PATH.
If you are using csh, you can set it like:
setenv LD_LIBRARY_PATH <paths>
If you are using sh, you can set it like:
export LD_LIBRARY_PATH=<paths>
(2) You MUST put /home/gogg/ns-allinone-2.31/tcl8.4.14/library into your TCL_ LIBRARY environmental
variable. Otherwise ns/nam will complain during startup.
這表示你成功了,你可以大喊"阿母 我成功啊~(台語)" (誤
雖然你是成功了沒錯,但是你還需要修改最後的路徑,
請回到根目錄的位置,鍵入指令:
vi .bashrc // 除非你對vi 或vim 這兩個編輯器很熟,否則不建議,請將vi 改成 gedit
接著到這個檔案的最下面加入下列文字:
PATH=$PATH:$HOME/bin:./:/home/apollo/ns-allinone-2.35/bin:/home/apollo/ns-allinone-2.35/tcl8.5.10/unix:/home/apollo/ns-allinone-2.35/tk8.5.10/unix:/home/apollo/ns-allinone-2.35/nam-1.15
export LD_LIBRARY_PATH=/home/apollo/ns-allinone-2.35/otcl-1.14:/home/apollo/ns-allinone-2.35/lib
export TCL_LIBRARY=/home/apollo/ns-allinone-2.35/tcl8.5.10/library
請勿腦殘的複製貼上
請依照自己安裝ns-allinone-2.35的路徑進行修改,
例如:版本編號有可能不同,還有你的使用者名稱應該不會是"apollo",除非你故意設定的跟我一樣= ="
這樣你的ns2就算安裝完成啦~(歡呼~
狀況二:(雖然你人品很好,但就是會錯)
安裝完後出現的是下列東東:
ns-allinone-2.35/tk8.5.10/unix/../generic/tk.h:81: fatal error: X11/Xlib.h: 没有那文件或目錄
compilation terminated.
make: *** [tk3d.o] Error1
tk8.5.10 make failed! Exiting ... For problems with Tcl/Tk see http://www.scriptics.com
如果是出現上述問題,接下來你需要一連串的除錯啦~
1. 依序鍵入下列指令,請一次輸入一行,等它安裝完,再輸入下一行
sudo apt-get install libx11-dev
sudo apt-get install libgl1-mesa-swx11-dev
sudo apt-get install libghc6-x11-dev
sudo apt-get install libwx11-dev
通常前兩個指令的安裝都很順利,後面兩個就會開始說找不到甚麼套件無法安裝之類的
2. 接下來,為了看到底還缺甚麼,請再重新輸入
./install // 重跑一次安裝 ns-allinone-2.35,檢查還有哪些還未齊全
3. 檢查完後,根據筆者的經驗又會有錯= =",這次的錯誤訊息如下:
checking for X11 header files
can't find X includes
otcl-1.14 configuration failed! Exiting ...
then i run command "apt-file update
apt-file search X11/Xlib.h
修正方法:
sudo apt-get install build-essential autoconf automake libxmu-dev
sudo apt-get install libxt-dev
4. 再執行一次 ./install
應該就會出現"狀況一"啦~
p.s. 若你很不幸地都出現和筆者不同的問題,你可以直接將錯誤訊息複製貼到Google,Google是大家的好朋友XD
最後,常和ns2一起使用,nam當然也少不了(請在確認ns2安裝完成的情況下再安裝nam),
套件安裝步驟如下:(因為非重點,約略帶過)
1. 到 http://www.isi.edu/nsnam/dist/daily/ 下載nam的套件
2. mv nam-1-20090106.tar.gz ./ns-allinone-2.35/ //將 nam-1-20090106.tar.gz 移到你解完壓縮的 ns-allinone-2.35 目錄底下
3. 到 ns-allinone-2.35 目錄底下,將 nam-1-20090106.tar.gz 解壓縮
tar -zxvf nam-1-20090106.tar.gz
這樣就大功告成啦~
最後,切記,要重開電腦,不然你就會以為失敗,想要砍掉重練啦~
後記:如何知道安裝完成?
進入終端機之後,鍵入,
ns ns-allinone-2.35/ns-2.35/tcl/ex/simple.tcl
如果有出現nam的封包圖還有數據,就表示你真的成功了