Ubuntu 16.04 LTS 安装 NS-3 教程,基于 Bake 和 Python3

今天整理一下这几天的工作,先记录一下在 Ubuntu 16.04 LTS 上安装 NS3 的教程。NS-3 是一个非常出名的网络模拟器,可以模拟各种网络流,用来做实验是非常好用的。不过安装过程比较繁琐,要装一大堆依赖包,一大堆的编译工作,但是真的装起来之后发现也还好,所以在此记录。

一、安装依赖包

更多系统的依赖可以前往官网查看:

  • https://www.nsnam.org/wiki/Installation#Prerequisites

下面记录在 Ubuntu 16.04 LTS 上面安装过程,基本上没有出错。Ubuntu 其他版本暂时不敢保证是否会出错。

注意:ns-3 从 ns-3.30 这个版本开始默认使用 Python 3,但是之前的版本都是默认使用 Python 2,所以大家根据自己安装的版本进行选择。如果选择使用 Python 2,那么把下面所有的 python3 都换成 python 即可,比如 python3-dev 就是 python-dev 了。

依赖项比较多,这里就直接复制了,也不解释每一项什么意思。需要详细解释的可以参考这里的官网说明。

apt-get install g++ python3
apt-get install g++ python3 python3-dev pkg-config sqlite3
apt-get install python3-setuptools git
apt-get install qt5-default mercurial
apt-get install python-pygraphviz python-kiwi python-pygoocanvas libgoocanvas-dev ipython
apt-get install gir1.2-goocanvas-2.0 python-gi python-gi-cairo python-pygraphviz python3-gi python3-gi-cairo python3-pygraphviz gir1.2-gtk-3.0 ipython ipython3
apt-get install openmpi-bin openmpi-common openmpi-doc libopenmpi-dev
apt-get install autoconf cvs bzr unrar
apt-get install gdb valgrind 
apt-get install uncrustify
apt-get install doxygen graphviz imagemagick
apt-get install texlive texlive-extra-utils texlive-latex-extra texlive-font-utils dvipng latexmk
apt-get install python3-sphinx dia
apt-get install gsl-bin libgsl-dev libgsl23 libgslcblas0
apt-get install tcpdump
apt-get install sqlite sqlite3 libsqlite3-dev
apt-get install libxml2 libxml2-dev
apt-get install cmake libc6-dev libc6-dev-i386 libclang-6.0-dev llvm-6.0-dev automake pip
python3 -m pip install --user cxxfilt
apt-get install libgtk-3-dev
apt-get install vtun lxc uml-utilities
apt-get install libboost-signals-dev libboost-filesystem-dev

二、安装 ns-3

接下来开始安装 ns-3,使用 ns-3 最新工具 Bake 进行安装,整个过程还是比较顺畅的。

克隆 Bake 项目:

git clone https://gitlab.com/nsnam/bake

添加到路径:

export BAKE_HOME=`pwd`/bake 
export PATH=$PATH:$BAKE_HOME
export PYTHONPATH=$PYTHONPATH:$BAKE_HOME

检查依赖:

bake.py check

如果提示有任何错误,需要先解决问题。提示缺什么你就再装什么就行了,直到再次检查不提示任何错误。

进行配置:

bake.py configure -e ns-3.29

最后检查:

bake.py show

开始安装:

bake.py deploy

然后我们耐心等待即可,安装会自动完成。

参考:https://www.nsnam.org/wiki/Installation#Installation


【AD】美国洛杉矶CN2 VPS/香港CN2 VPS/日本CN2 VPS推荐,延迟低、稳定性高、免费备份_搬瓦工vps

【AD】RackNerd 推出的 KVM VPS 特价优惠,在纽约、西雅图、圣何塞和阿什本每年仅需 12.88 美元!