ubuntu16.04 LTS安装NS-3.22及DTN cod

2019-03-19  本文已影响0人  Mjolnir1107

参考文章

1、解决ubuntu - Unable to locate package python-gnomedesktop: Installing PyViz in ns3
2、E:无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系
3、DTN Code for ns-3

参考网站

清华大学开源软件镜像站
DTN Code for ns-2 and ns-3

安装过程

替换软件源配置文件

使用清华大学开源软件镜像站,替换系统默认源,以提高下载速度;

apt-get update

更新一下即可

配置依赖环境

apt-get install gcc g++ python
apt-get install gcc g++ python python-dev
apt-get install mercurial python-setuptools git
apt-get install qt4-dev-tools libqt4-dev
apt-get install cmake libc6-dev libc6-dev-i386 g++-multilib
apt-get install gdb valgrind
apt-get install gsl-bin libgsl2 libgsl-dev
apt-get install flex bison libfl-dev
apt-get install tcpdump
apt-get install sqlite sqlite3 libsqlite3-dev
apt-get install libxml2 libxml2-dev
apt-get install libgtk2.0-0 libgtk2.0-dev
apt-get install vtun lxc
apt-get install uncrustify
apt-get install python-dev python-pygraphviz python-kiwi 
apt-get install python-pygoocanvas python-gnome2 
apt-get install python-gnome2-desktop-dev python-rsvg
apt-get install ipython

后四步是为了安装Visualizer(PyViz),这其中出现python-gnomedesktop应替换成python-gnome2-desktop-dev的问题,详见参考文章1。

安装中出现“无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。”这是源的问题。

解决办法:

打开更新设置,在“更新”选项卡中选则:重要安全更新 和 推荐更新

并在“其他软件”选项卡中,去掉有问题等源

最后更新一下即可

apt-get update

安装NS-3.22

  1. 下载 ns-allinone-3.22.tar.bz2

  2. 安装

tar -xvf ns-allinone-3.22.tar.bz2
cd ns-allinone-3.22
./build.py --enable-examples --enable-tests
cd ns-3.22
./waf clean
./waf -d optimized --enable-examples --enable-tests configure
./waf clean
./waf -d debug --enable-examples --enable-tests configure
./waf
./test.py -c core

安装DTN Code for ns-3

1、下载DTN Code for ns-3.22

2、In your home directory, create new directory for the DTN code and extract the files there

mkdir ns-allinone-3.22/ns-3.22/examples/DTN_SF_UDP
mv ns3dtn.tar.gz ns-allinone-3.22/ns-3.22/examples/DTN_SF_UDP
cd ns-allinone-3.22/ns-3.22/examples/DTN_SF_UDP
tar -xvf ns3dtn.tar.gz

3、Move the modified regular-wifi-mac.h (modified for DTN code) and mac-low.cc (bug fix)files to ns-allinone-3.22/ns-3.22/src/wifi/model directory and run waf

mv regular-wifi-mac.h ../../src/wifi/model
mv mac-low.cc ../../src/wifi/model
cd ../..
./waf

4、Subdirectories Run1-Run6 as well as files dtn.cc, mypacket.cc, mypacket.h, simulate.sh,waf, and wscript stay in the current directory. Move the trace file,sf_downtown_nodes116_time3600.tcl, to ns-allinone-3.22/ns-3.22/examples directory

cd examples/DTN_SF_UDP
mv sf_downtown_nodes116_time3600.tcl ..

5、先用文本编辑器打开examples/DTN_SF_UDP/simulate.sh,里面

tracedir='/home/jani/ns-allinone-3.22/ns-3.22/examples'
thisdir='/home/jani/ns-allinone-3.22/ns-3.22/examples/DTN_SF_UDP'

改成自己的的路径。

6、运行!

./simulate.sh

nohup 命令

用途:不挂断地运行命令。

语法:nohup Command [ Arg … ] [ & ]

描述:nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示”and”的符号)到命令的尾部。

上一篇下一篇

猜你喜欢

热点阅读