【NS2】ubuntu安装和同时使用不同版本的ns2(转载)

有时候我们可能会遇到要同时安装两个ns版本的问题,比如我研究wimax/802.16,因为协议太复杂,用的是长庚大学和nist的wimax补丁。长庚大学的wimax补丁是在ns2.29下开发的,nist的wimax补丁虽说可以在多个ns版本上使用,但是在ns2.31上移植最简单。因此如果能够两个版本同时使用当然最好,事实上这也是可以实现的。

我们用./install安装好后,没有设置环境变量在终端上是不能使用ns命令的,除非你在ns-2~/文件夹下。呵呵,其实这样已经告诉我们一种解决两个版本同时使用的方案了,那就是不设置环境变量,当我们需要执行仿真代码a.tcl时,就指定ns命令的路径:/home/ns-allinone-2.29/ns-2.29/ns a.tcl或/home/all-inone-2.31/ns-2.31/ns a.tcl(我的ns是安装在home文件夹下)。

如果在.bashrc上设定其中一个版本的环境变量,比如说ns2.31则你的终端就可以使用ns2.31版本的ns命令了,另外一个则仍旧要指定路径全称才能使用。

有没有其它更好的办法?有的!其实我们的ns2安装后并不是安装到Linux系统内部了,ns命令是通过链接ns-allinone-2.~/ns-2~/ns实现的。这样就好办了,因为怕就怕在两个ns版本都设定了环境变量的情况下,我们在终端敲入ns命令只能识别其中一个罢了。知道了原委,我们就可以通过重新创建链接的方式来改变命令ns的名称,比如我们可以把2.29版本的ns命令改成ns2.29,把2.31版本的ns命令改成ns2.31,这样就可以避免名称的冲突了。

具体的实现是:假若我们先安装ns2.29,目录是/home/ns-allinone-2.29/,在linux下安装完ns2.29并设置好环境变量以后,打开ns-allinone-2.29/bin目录,用file ns查看链接关系,得到bin文件夹下的ns链接是链接到了:/home/ns-allinone-2.29/ns-2.29/ns上,你可以删除这个链接:rm ns,重建一个连接:ln -s /home/ns-allinone-2.29/ns-2.29/ns  ns2.29,这样ns2.29版本的仿真命令就变成了ns2.29了,你再在终端敲入ns看看是不是一个未知命令呢?然后再敲个ns2.29看看,有个%号出来了吧!用这个方式重建nam和xgraph的链接,将它们改为nam2.29和xgraph2.29。接着安装ns2.31,环境变量可以同时设置好,完毕后你在终端敲ns命令其实就是执行2.31,nam和xgraph也是2.31的,为方便记忆,你也可以仿照上面的方式将ns、nam、xgraph的连接改成ns2.31、nam2.31、xgraph2.31。然后要执行脚本的话,想用ns2.29版本的ns就用:ns2.29 a.tcl就可以了。

note1:其他发行版我没有试过,不过应该是可以通过上述的方法安装多个ns版本的。

note2:增补一个说明,当为两个版本的ns2设置环境变量的时候,只有一个LD_LIBRARY_PATH的设置能够生效,一般是最先设置的一个,不过可能是2.29和2.31的库文件没有很多变化,其中一个的库另一个也能正常调用,在我的使用过程中没有发现问题。

时间: 2024-10-15 20:02:42

【NS2】ubuntu安装和同时使用不同版本的ns2(转载)的相关文章

Ubuntu安装部署Ceph J版本

安装Ubuntu系统安装步骤略过 拓扑连接: 一.安装前准备工作 1.修改主机名:将主机名更改为上图中对应的主机名. [[email protected] ~]# vim /etc/hostname 2.更新主机上的hosts文件,将主机名与如下IP进行解析. 192.168.100.128 ceph-node1 192.168.100.129 ceph-node2 192.168.100.130 ceph-node3 192.168.100.131 ceph-node4 [[email pro

ubuntu 安装 2.10.x版本的scala

Ubuntu 14.04.1 LTS上默认的scala版本是2.9的,而最新版本的spark-1.3需要最低版本的scala版本为2.10.x,先使用apt-get remove scala将机器上的老版本scala清除干净.在这个位置下载 http://www.scala-lang.org/download/2.10.5.html scala, 现在好后,解压, 最后编辑~/.bashrc,设置如下环境变量: export PATH=/home/zhangchao3/spark-evn/sca

Ubuntu 安装MTP驱动访问安卓设备(转载)

转自:http://www.ipython.me/ubuntu/how-to-connect-kindle-with-ubuntu.html 1.安装MTP工具集: [email protected]:~$ sudo apt-get install mtp-tools mtpfs [email protected]-it:~$ dpkg -l mtp-tools mtpfs Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/C

ubuntu安装goagetn(网上搜索归纳整理,ubuntu1404版本测试通过)

必须装: 1.sudo apt-get install python-dev python-greenlet python-gevent python-vte python-openssl python-crypto python-appindicator 2.sudo apt-get install python-dev python-pip && sudo pip install gevent --upgrade 3.安装git工具.通过以下命令进行安装: >sudo apt-g

docker 1.8+之后ubuntu安装指定版本docker-engine

这边记录ubuntu安装过程,首先是官网文档 If you haven’t already done so, log into your Ubuntu instance. Open a terminal window. Add the new gpg key. $ apt-key adv --keyserver hkp://pgp.mit.edu:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D Open the /etc/apt/s

ubuntu安装多版本的cuda

1. 下载cuda 各个版本的CUDA :https://developer.nvidia.com/cuda-toolkit-archive 2. 下载完cuda后,使用命令解压(eg:笔者这里是9.0的cuda) sudo sh cuda_9.0.176_384.81_linux.run 3. 安装过程 1 #..执行完上述命令后,是一堆协议说明 2 #直接按q退出协议说明. 3 [email protected]: accept/decline/quit: accept #接受协议 4 5

ubuntu安装和查看已安装

比如apt-cache show geditapt-cache show vim 说明:由于图形化界面方法(如Add/Remove... 和Synaptic Package Manageer)比较简单,所以这里主要总结在终端通过命令行方式进行的软件包安装.卸载和删除的方法. 一.Ubuntu中软件安装方法 1.APT方式 (1)普通安装:apt-get install softname1 softname2 …; (2)修复安装:apt-get -f install softname1 soft

ubuntu安装卸载和查看已安装软件

ubuntu安装和查看已安装 说明:由于图形化界面方法(如Add/Remove... 和Synaptic Package Manageer)比较简单,所以这里主要总结在终端通过命令行方式进行的软件包安装.卸载和删除的方法. 一.Ubuntu中软件安装方法 1.APT方式 (1)普通安装:apt-get install softname1 softname2 -; (2)修复安装:apt-get -f install softname1 softname2... ;(-f Atemp to cor

ubuntu如何设置Python的版本

Ubuntu默认已经安装了Python的版本了,不过是Python2的版本. 我们安装好Python3想把他切换为系统默认的版本. sudo update-alternatives --config python //显示当前系统中所有的Python版本. 直接输入数字,即可切换为相应的版本号. 这样你甚至可以将自己喜欢的任意版本python安装到任意位置,然后使用update-alternatives将其设置为系统默认python. 同时,也可使用下面的命令来切换 sudo update-al