文章目录
1、ubuntu16.04安装
1.1 从官网或者国内的源找到对应的镜像文件:
阿里云:
http://mirrors.aliyun.com/ubuntu-releases/16.04/
官网:
https://www.ubuntu.com/download
中科大:
http://mirrors.ustc.edu.cn/ubuntu-releases/16.04/
兰州大学开源镜像站
http://mirror.lzu.edu.cn/ubuntu-releases/16.04/
浙江大学
http://mirrors.zju.edu.cn/ubuntu-releases/16.04/
1.2.打开VMware安装Ubuntu
具体过程参考以下文章:
https://www.cnblogs.com/su1961117443/p/12419892.html
注意:网络连接模式可以直接使用NAT模式
2、ns2安装
安装说明:在安装ns2之前一定要先将相关的文件库,编译器准备好,此过程可能会踩坑!!!
2.1 换源[推荐]
使用官方的源在下载一些文件时会比较慢,所以建议用国内源,选择阿里的源。具体过程如下:
2.1.1 在修改source.list前,最好先备份一份执行备份命令
sudo cp /etc/apt/sources.list /etc/apt/sources.list.old
2.1.2 执行命令打开source.list文件:可以用vim,gedit,atom等工具打开
sudo vim /etc/apt/source.list
或
sudo gedit /etc/apt/source.list
2.1.3.复制源:把下面的任意一下复制到source.list中去,并覆盖原来的文件内容。
阿里云源
#deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (20160420.1)]/ xenial main restricted
deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse
查看更改后的源文件:
gedit /etc/apt/sources.list
2.1.4. 更新源:update命令
sudo apt-get update
2.2 安装gcc编译器及make
此处有坑!!!安装最新版g++会出现一些代码错误。使用4.8版本不会有任何报错
2.2.1 查看Ubuntu的gcc和g++的版本信息
gcc -v #查看gcc的版本
g++ -v #查看g++的版本```
可以看到默认配置的时5.0以上的版本。接下来进行版本的降级。
2.2.2 安装gcc编译器
首先执行下面的命令安装软件包
sudo apt-get install gcc-4.8 g++-4.8
安装完之后可以采用下面的指令来查看当前系统中安装的所有的gcc和g++的版本:
ls /usr/bin/gcc*
ls /usr/bin/g++*
接着设置优先级别,将自带的gcc以及新安装的都设置为100优先级
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 100
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 100
sudo update-alternatives --install /usr/bin/gcc g++ /usr/bin/g++-4.8 100
sudo update-alternatives --install /usr/bin/gcc g++ /usr/bin/g++-4.8 100
完成上面的命令之后设置系统采用的gcc和g++版本
sudo update-alternatives --config gcc
这里每个人显示的顺序可能不一致,根据自己显示的选择左边对应的序号,输入即可。
同样的下面时g++的更改过程:
sudo update-alternatives --config g++
重启虚拟机,再次查看当前的gcc和g++的版本信息,可以发现已经更换好了。
2.2.3 make的安装
sudo apt-get install build-essential
2.3 安装依赖
此过程需要前面的编译器和换源都进行顺利才能安装成功!
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
2.4 下载ns2
1.下载安装包
到网站http://www.isi.edu/nsnam/ns/ns-build.html下载ns,如下图
这里从官网下载会比较慢,资源连接如下:
链接:https://pan.baidu.com/s/1nmplLY3-eI4BqNiU3uzV6Q
提取码:lrwe
2.解压安装包
将压缩包放入虚拟机“/opt/”目录下(目录可自行定义),并进行解压,查看目录下的文件:
cd /opt/
tar xvf ns-allinone-2.35.tar.gz
ls
3.编译
此处有坑!!!要先修改ls.h文件,否则直接编译会报错。
cd /opt/ns-allinone-2.35/ns-2.35/linkstate
ls
gedit ls.h
将 void eraseAll() { erase(baseMap::begin(), baseMap::end()); }
改为: void eraseAll() { this->erase(baseMap::begin(), baseMap::end()); }
做好上面的修改,就可以进行编译了,注意切换到opt/ns-allinone-2.35目录下
cd /opt/ns-allinone-2.35
export CC=gcc-4.8 CXX=g++-4.8 && ./install
此处需要经历一段时间,如果编译成功,则会出现以下要你配置环境变量的提示:
4.编写terminal环境下的变量参数
sudo gedit ~/.bashrc
在这个文档的末尾添加以下的内容,这里的路径要和自己安装ns2的路径保持一致。
#LD_LIBRARY_PATH
OTCL_LIB=/opt/ns-allinone-2.35/otcl-1.14/
NS2_LIB=/opt/ns-allinone-2.35/lib/
USR_Local_LIB=/usr/local/lib/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$OTCL_LIB:$NS2_LIB:$USR_Local_LIB
#TCL_LIBRARY
TCL_LIB=/opt/ns-allinone-2.35/tcl8.5.10/library/
USR_LIB=/usr/lib/
export TCL_LIBRARY=$TCL_LIBRARY:$TCL_LIB:$USR_LIB
#PATH
XGRAPH=/opt/ns-allinone-2.35/xgraph-12.2/:/opt/ns-allinone-2.35/bin:/opt/ns-allinone-2.35/tcl8.5.10/unix:/opt/ns-allinone-2.35/tk8.5.10/unix
NS=/opt/ns-allinone-2.35/ns-2.35/
NAM=/opt/ns-allinone-2.35/nam-1.15/
export PATH=$PATH:$NS:$NAM:$XGRAPH
重启虚拟机
2.5 测试ns2
按照前面的步骤即可安装成功,接下来验证一下。
1.在终端输入一个简单的脚本
ns
puts ”Hello ns2“
2.运行提供的测试样例
ns /opt/ns-allinone-2.35/ns-2.35/tcl/ex/simple.tcl
至此,ns2就完美安装完成。
在安装的过程中碰到一些坑,不过都能够顺利的解决,记录下来提供参考。
关于ns2还有很多要学习。
后续------