ubuntu16.04 LTS安装NS-3.22及DTN cod
参考文章
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
-
安装
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
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”的符号)到命令的尾部。