Win7+ns2.35++ubuntu+vmware


 

 

    安装vmware

   见教程http://wenku.baidu.com/view/6c8300a0284ac850ad024240.html

   作为参考

  1. 安装 ubuntu

   见教程http://wenku.baidu.com/view/e1d7c66aa98271fe910ef9e5.html

   看到21页即可,21页之后是安装vmware tools的,不嫌麻烦就装吧。。

       Vmware tools的作用是

        a.  更新虚拟机中的显卡驱动, 使虚拟机中的XWindows可以运行在SVGA模式下.
        b. 提供一个vmware-toolbox, 这个Xwindows下的工具可以让你修改一些VMWare的参数和功
          能.
        c. 同步虚拟机和Host的时间.
        d. 支持同一个分区的真实启动和从虚拟机中启动, 自动修改相应的设置文件.可以直接从win7和ubuntu中直接拖文件

 

3.开始安装ns啦,老师的教程有好多要改的:

 

     A.打开呕心沥血的ubuntu,进入终端,即我们说的命令行:

 

 

        B.  移动老师的ns2.35.tar.gz

           这里需要导入ns2.35这个文件到虚拟机里面,如果你安装vmware tools可以直接拖进虚拟机,共享文件。但是没装也有办法~用u盘 

          不管装没装vmware tools 虚拟机下的ubuntu都可以识别u盘哦~

           插进u盘,看ubuntu是否有反应,没有反应的话,执行下面操作

 

         VM-> removable devices->选中你的u盘设备。

        这是因为win7和ubuntu不能同时识别u盘,所以你要u盘的数据到ubuntu里面去就要把u盘从win7中弹出。

      虚拟机中找到u盘->讲u盘里的ns-allinone-2.35.tar.gz移到你想要的位置

     (我这里移到了 cc是我的用户名

 

 

然后解压:tar zxf ns-allinone-2.35.tar.gz 如果想看解压的输出过程:把"zxf"改为"zxvf")

  C. 安装ns之前的准备工作,执行如下命令,安装ns2需要的库
sudo apt-get install build-essential
sudo apt-get install tcl8.4 tcl8.4-dev
sudo apt-get install tk8.4-dev
sudo apt-get install libxmu-dev

ps: 输一行命令就回车,会提示让你输入密码,在linux下输入密码光标不会动,但是机器是读了你的密码的。这是linux的保护措施让你的密码不显示出来,其实计算机还是独到了的。正确输入之后回车就可以进行下面的步骤了
如果出现错误:

 

解决sudo apt-get install build-essential 找不到软件包

 

sudo apt-get update #更新源 12MB +-

 

sudo apt-get install build-essential

 

D.开始安装ns,制定到你所在的文件夹 如果你的路径跟我一样就可以直接输入

 (1),解压 tar zxf ns-allinone-2.35.tar.gz

 否则是:你的路径下,再执行tar命令

(2)安装 

cd ns-allinone-2.35 #定位到安装目录(解压之后的文件)
sudo ./install #开始安装

(3)更改环境变量(作用:在终端输入命令可以让系统找到)

     sudo gedit /root/.bashrc

 

 

 

 在文件末尾加入:


/home/cc是我方ns的路径,你如果路径跟我不一样要相应的更改

 

现在ns就安装啦~,测试:

 

    

激动人心有木有。。

 

 

运行一下老师的代码:

   ns test1.tcl

  (我的test1.tcl放在 /home/cc/ 里面了 是默认路径,所以没错),结果提示错误:

ns: finish: couldn't execute "nam": no such file or directory
while executing
"exec nam wireless.nam &"
(procedure "finish" line 6)
invoked from within
"finish"

==============================================================================
分析原因是nam没安装好,

解决办法:

在root权限下执行:sudo apt-get install nam(在这之前我还手动的点了下ns-allinone-2.35下的nam-***下的configure,然后根据提示在terminal下安装了,不知道有没有用)

如果还是不行,提示你安装ns,你就照着提示 写sudo apt-get install ns2

安装成功后运行成功!

附录相关知识:

 

 

  1.关于 sudo:

 Linux是多用户系统,为了增强系统的安全性能,避免误操作对系统造成害,一般要求在Linux下的用户进行常规操作时是以普通用户(而不是像Windows那样一般都使用超级用户)登录的,系统对普通用户的权限进行了限制。一些Linux发行版默认情况下不允许使用超级用户登录。

 

但是在某些情况下,普通用户需要执行一些只有超级用户才可以使用的命令,为了避免很多人都拥用超级用户密码(当然对于单用户不存在这个问题),Linux下有一个SUDO命令,使得普通用户能够行使超级用户的部份权利,而这些可以使用的权利是被超级用户或者系统(比如Unbuntu)预设好的。

 

apt-get是Debian(其衍生版Unbuntu也使用这个命令)系统下安装软件的一个命令,它的功能很强大,可以通过网络或其它介质进行安装、卸载软件等操作。

它带有很多参数(具体的可以使用Man apt-get来查看),比如Install参数就是安装软件。

sudo apt-get install build-essential的意思就是:

普通用户使用Apt-get命令安装build-essential这个软件

2.build-essential是c语言的开发包,包含了gcc make gdb和libc函数库 很多工具。

3.nam Network Animator 在NS网络仿真工具中,全程是网络动画仿真器,具有友好的用户界面

TCL (最早称为“工具命令语言”"Tool Command Language", 但是已经不是这个含义,不过我们仍然称呼它为TCL)是一种 脚本语言。 由John Ousterhout创建。 TCL很好学,功能很强大。TCL经常被用于 快速原型开发,脚本编程, GUI和测试等方面。TCL念作“踢叩” "tickle". Tcl的特性包括:

 

  * 任何东西都是一条命令,包括语法结构(for, if等)。

 

  * 任何事物都可以重新定义和重载。

 

  * 所有的数据类型都可以看作字符串。

 

  * 语法规则相当简单

 

  * 提供事件驱动给Socket和文件。基于时间或者用户定义的事件也可以。

 

  * 动态的域定义。

 

  * 很容易用C, C++,或者Java扩展。

 

  * 解释语言,代码能够动态的改变。

 

  * 完全的Unicode支持。

 

  * 平台无关。Win32, UNIX, Mac上都可以跑。

 

  * 和Windows的GUI紧密集成。 Tk

 

  * 代码紧凑,易于维护。

 

  TCL本身不提供面向对象的支持。但是语言本身很容易扩展到支持面向对象。许多C语言扩展都提供面向对象能力,包括XOTcl, Incr Tcl等。另外SNIT扩展本身就是用TCL写的。

 

 

     粗略版的,先将就看一下吧,由于是安装之后写的,可能部分地方有错误,大家看着改就行




 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM