Linux系统下安装ns2

一。ns2的安装方式
1.windows下安装ns2:需要VC环境,而且要手工安装每一个包,比较繁琐,不常使用。
2.allinone安装:也就是 all in one,把所有的包都放到了一起,只要执行install就可以一步到底,需要linux环境。这种方式比较常用。
二。RedHat下的allinone安装
最早使用ns2时便是这种方式,安装和使用时比较麻烦,毕竟,linux下操作界面的友好程度远不如windows的好。但是,仿真的运行效率很高,linux系统提供的gcc编译器也很方便使用,个人认为这种方式比较适合于C++层的功能扩展。
三。Windows+Cygwin+allinone
Redhat下的allinone安装需要专门安装操作系统,往往会引入其他问题分散使用者的注意力。Cygwin是一种虚拟平台,在windows上虚拟linux环境,可以为用户提供一种linux命令行界面,这对于使用ns2来说已经足够了。安装完成Cygwin后,可以直接安装allinone版本。
网上对这种方式也推崇较多,它结合了window的友好操作界面(很多操作不需要在虚拟系统上操作,在windows下就可以直接完成)和linux的gcc环境,确实很方便。只是执行效率比较低,曾经做过一个大的仿真,在Cygwin上运行了3天,而redhat上运行了一天多一点就完毕了。
 四、RedHat9.0下NS2的安装
 
  1. 本实验安装环境:完全安装的RedHat9.0操作系统,ns-allinone-2.29安装包。
 
  2. 到官方下载网址:下载NS2安装软件包ns-allinone-2.29.tar.gz.
 
  3. 以root登录RH9,在/home下建立ns2文件夹,将ns-allinone-2.29.tar.gz放在该文件夹下,在终端运行cd /home/ns2,使用解压命令tar xvfz ns-allinone-2.29.tar.gz,即生成/home/ns2/ ns-allinone-2.9.
 
  4. 修改/home/ns2/ ns-allinone-2.9/nam-1.11/agent.h中的第73行,将NULL改为0.
  
  5. 在/home/ns2/ ns-allinone-2.9/下运行。/install
 
  6. 根据安装结束后结尾处的提示,将某些路径复制下来,或者直接按照以下修改(可以对照提示理解):
  
  7. 修改/root/.bashrc(注意该文件为隐藏文件),在该文件末尾加上以下三句话:
 
  export
  PATH=$PATH:/home/ns2/ns-allinone-2.29/bin:/home/ns2/ns-allinone-2.29/tcl8.4.11/unix:/home/ns2/ns-allinone-2.29/tk8.4.11/unix
 
  export
  LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/ns2/ns-allinone-2.29/otcl-1.11:/home/ns2/ns-allinone-2.29/lib
 
  export
  TCL_LIBRARY=/home/ns2/ns-allinone-2.29/tcl8.4.11/library
 
  8. 这时,如果以上设置正确,直接运行ns会出现%,或者可以运行软件自带的例子,在 /home/ns2/ns-allinone-2.29/ns-2.29/ns-tutorial/examples下运行ns example2.tcl
 
  9. 可以选择执行./validate,验证安装是否成功(比较耗时间哦!)
 
  说明:
 
  1. 修改了/root/.bashrc之后,可以在新打开的终端输入echo $PATH看看那些路径是否加进去了,如果加进去,会显示出来的。注意,命令‘export’只能改变当前终端及以后运行的终端里的变量。对于已经运行的终端没有作用。
 2. 本例子中在/home/ns2/下安装ns仿真软件,该路径可以换成你想安装ns的路径。
  3. 如果PATH没加进去,可以考虑在/root/下运行source .bashrc使重新获取环境变量设置。正常情况下,如果按照上述在/root/下修改。bashrc文件是可以成功的。有些其他做法是在安装ns的路径下新建一个。bashrc文件,把那三条export语句加进去。运行source .bashrc,在该终端就可以使用ns命令了,但是该命令只在本终端有效,在以后运行的终端无效。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/9818a2beaa6efddc66e3974e99bf0e37.html