雲服務器中 NS2-2.35安裝過程

NS2-allinone-2.35安裝過程的實現

Ubuntu 16.04 安裝ns2.35+nam

  • Step1: 更新系統
sudo apt-get update #更新源列表
sudo apt-get upgrade #更新已經安裝的包
sudo apt-get dist-upgrade #更新軟件,升級系統
  • Step2:安裝ns2需要的幾個包
sudo apt-get install build-essential
sudo apt-get install tcl8.5 tcl8.5-dev tk8.5 tk8.5-dev #for tcl and tk
sudo apt-get install libxmu-dev libxmu-headers #for nam
tar xvfz ns-allinone-2.35.tar.gz
cd ns-allinone-2.35
sudo ./install #進行安裝
  • 第一次安裝報錯:
linkstate/ls.h:137:20: note: use ‘this->erase’ instead
make: * [linkstate/ls.o] Error 1
Ns make failed!
  • 修復
  1. 修改ls文件:ns-2.35/linkstate/ls.h 第137行
    void eraseAll() { erase(baseMap::begin(), baseMap::end()); }
    改爲:
    void eraseAll() { this->erase(baseMap::begin(), baseMap::end()); }
    保存後
sudo ./install #重新安裝順利完成
  • Step4:配置環境變量
    修改當前用戶環境變量(對應的文件爲’/home/用戶名’中的.bashrc,並非’/ns-allinone-2.35’底下的空白.bashrc)
# 有不同的方法修改環境變量 vi /etc/profile 等具體參考 修改環境變量的方法,這裏是在當前目用戶下,增加環境變量
vi ~/.bashrc

在文件末尾添加

# add path for ns2
export PATH=$PATH:/home/安裝文件夾名/ns-allinone-2.35/bin:/home/安裝文件夾名/ns-allinone-2.35/tcl8.5.10/unix:/home/安裝文件夾名/ns-allinone-2.35/tk8.5.10/unix”
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/安裝文件夾名/ns-allinone-2.35/otcl-1.14:/home/安裝文件夾名/ns-allinone-2.35/lib”
export TCL_LIBRARY=$TCL_LIBRARY:/home/安裝文件夾名/ns-allinone-2.35/tcl8.5.10/library”
>source  ~/.bashrc #是修改起作用
  • Step5:驗證ns2安裝
#關閉終端,重啓終端,輸入ns,出現%,說明ns2安裝成功

注意:環境變量配錯的話,會提示
程序“ns”尚未安裝。 您可以使用以下命令安裝: sudo apt-get install ns2” 請注意正確配置環境變量

  • Step6:安裝nam (NAM 是圖形顯示的一部分)
#進入nam目錄
cd ns-allinone-2.35/nam-1.15
#進入後
sudo ./configure
#注意,此處會出錯,提示爲
`installation of tcl seems incomplete or can’t be found automatically`

解決方法:

sudo ./configure –with-tcl=/home/用戶目錄/文件存放目錄/ns-allinone-2.35/tcl8.5.10 –with-tcl-ver=8.5.10 –with-tk=/home/用戶目錄/文件存放目錄/ns-allinone-2.35/tk8.5.10 –with-tk-ver=8.5.10
#執行 編譯安裝
sudo make install

命令行輸入

nam

彈出nam console
在這裏插入圖片描述
說明nam安裝成功(這裏的圖形顯示,只會在圖形用戶界面下,命令的putty 工具下,是沒用的,一句話,你必須有桌面程序纔行)

注意:如果通過“sudo apt-get install nam”安裝的nam,執行nam命令會報異常
“段錯誤,核心文件已轉儲”
遇到該問題的網友可以“sudo apt-get remove –purge nam”卸載nam及其配置後按Step6安裝。


- Step7:測試simple.tcl

```bash
cd ns-allinone-2.35/ns-2.35/tcl/ex/
ns simple.tcl

顯示下圖即可。1
在這裏插入圖片描述

在雲服務器上實現的NS2 添加VNC(vritual network console)

執行環境就是 unbuntu 16.04

整體感官圖2
在這裏插入圖片描述

  • step1:unbuntu 上安裝VNCserver 來使用

安裝Xfce4桌面環境。Xfce4是在Unix和Unix-like(Linux, FreeBSD)上運行的開源桌面環境,其特點是快速,輕量,同時擁有美觀的交互界面,易於使用。Xfce4的安裝十分簡單,運行如下命令即可

#安裝Xfce4桌面環境
sudo apt-get install xfce4
  • step2:安裝VNCServer
sudo apt-get install vnc4server

完成安裝以後,在終端輸

# 啓動vnc server 
vncserver
  • step3:設置登錄VNC的密碼

設置登錄VNC的密碼,之後會出現一段提示。

主要意思是VNCServer產生了一個新桌面:1,並在/home/username/.vnc/目錄下生成了配置文件xstartup。此時如果直接用VNCView連接遠程桌面會出現空白的窗口,因此需要我們配置這個xstartup文件
配置xstartup文件。修改後的xstartup文件內容如下,針對Xfce4桌面環境.

# 修改內容
vi  home/neon/.vnc/xstartup
#!/bin/sh
# 如何修改的方法
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
startxfce4 &
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
  • step4:修改配置文件後,運行如下命令結束掉之前產生的窗口:1
vncserver -kill:1
  • step5:之後重新啓動VNCServer
vncserver

step6: 關閉防火牆

背景知識:一般來說, 我們會使用名氣比較的大iptables等程序對這個防火牆的規則進行管理。iptables可以靈活的定義防火牆規則, 功能非常強大。但是由此產生的副作用便是配置過於複雜。一向以簡單易用著稱Ubuntu在它的發行版中,附帶了一個相對iptables簡單很多的防火牆配置工具:ufw。

# 這裏是直接簡單化,而不是打開那個防火牆端口,打開那個端口自行百度
# 關閉防火牆 ufw enable 啓動防火牆 
ufw disable 
#重啓機器,有時候不需要重啓(看機器的提示)
reboot
  • step7: 有時候需要開放安全組
    舉例實現的是騰訊雲服務的添加所有入站規則,和出站規則
    在這裏插入圖片描述

  • step8: 使用svnViewer 連接

根據代碼的運行情形設置,鏈接參數
在這裏插入圖片描述
注意參數的填寫,是否正確。
在這裏插入圖片描述

  • 出現Authentication Failure的情況

在這裏插入圖片描述
解決辦法:

是因爲vnc用一套自己的密碼系統,不要去輸入ssh登錄時的密碼,所以只需要進入遠程服務器中,設置一哈vnc的密碼即可!

 vncpasswd

搞定收工!

注意:剛建立的鏈接方式,可能無法使用粘貼複製,和table 功能。自行百度解決。

WinSCP 是一個 Windows 環境下使用的 SSH 的開源圖形化 SFTP 客戶端。同時支持 SCP 協議。它的主要功能是在本地與遠程計算機間安全地複製文件,並且可以直接編輯文件

如何使用winscp 登陸,傳輸文件的方式。

在這裏插入圖片描述

Cygwin系列

計算機世界裏存在各種各樣的操作系統,目前通用操作系統有主流的三大類:

  • UNIX,通用操作系統鼻祖,發展出特別多衍生系統;
  • Windows,微軟家根基,桌面市場霸主;
  • GNU/Linux,UNIX近親,有各種發行版如Ubuntu、CentOS等。

這些系統有各自的內核,出於系統穩定性考慮是不允許用戶程序直接操作內核,同時也將內核開發和應用軟件開發隔離開來,系統將必要的函數封裝成庫供應用軟件調用,約定的規範即爲應用軟件接口(Application Program Interface,API)

在這裏插入圖片描述

如果各系統平臺都能提供相同的系統函數庫,那麼開發者在這個系統函數庫基礎之上編寫軟件代碼,那麼就很容易將軟件移植到各個系統平臺。然而,這只是個美好的願望,IEEE就是爲了達成這樣的願望才牽頭制定POSIX標準。POSIX標準主要就是針對UNIX API而制訂,不管函數如何包裝、功能如何實現,但API按照標準約定來(比如函數變量等符號名稱、數據結構、參數類型與個數、基本工具命令名稱等),Linux完全兼容POSIX標準(部分函數符合POSIX,部分函數是Linux專有,即是POSIX的超集),微軟聲稱Windows部分兼容POSIX標準。

Cygwin3就是在Windows中增加了一箇中間層——兼容POSIX的模擬層,並在此基礎上構建了大量Linux-like的軟件工具
在這裏插入圖片描述
參考(傾權留言刪)


  1. Ubuntu 16.04 安裝ns2.35+namNS2 安裝 ↩︎

  2. 可以參考,不知道對錯vncviewer 參考文章 ↩︎

  3. https://zhuanlan.zhihu.com/p/56692626 ↩︎

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