安装vmware
见教程http://wenku.baidu.com/view/6c8300a0284ac850ad024240.html
作为参考
- 安装 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和文件。基于时间或者用户定义的事件也可以。
* 动态的域定义。
* 解释语言,代码能够动态的改变。
* 完全的Unicode支持。
* 代码紧凑,易于维护。
TCL本身不提供面向对象的支持。但是语言本身很容易扩展到支持面向对象。许多C语言扩展都提供面向对象能力,包括XOTcl, Incr Tcl等。另外SNIT扩展本身就是用TCL写的。
粗略版的,先将就看一下吧,由于是安装之后写的,可能部分地方有错误,大家看着改就行