热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

NS3安装过程回顾

2021年1月13号1虚拟机安装:官网下载VitureBox,我所使用的是目前最新的版本VitualBox6.16forwindowshostsx86

2021年1月13号


1虚拟机安装:

  官网下载VitureBox,我所使用的是目前最新的版本VitualBox 6.16 for windows hosts x86/amd86,下载完成后将语言改成简体中文,并且在设置-高级中可以选择双向复制内容。
  在虚拟机上安装Ubuntu,这里选择下载长期支持的18.04版本Ubuntu桌面版镜像文件,然后参照https://blog.csdn.net/u012732259/article/details/70172704的步骤,进行虚拟机安装和配置。
  后续继续写。




2修改Linux源:

  源要根据Ubuntu版本决定,这里是用的18.04,所以要用模式bionic,我换的是阿里源,复制如下:
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse


换源过程:源文件的路径为/etc/apt/sources.list。

(1)先将原始源保存:sudo cp /etc/apt/sources.list /etc/apt/sources_init.list
(2)编辑现有文件:sudo gedit /etc/apt/sources.list,将新的源复制进去(设置VBox双向复制内容,如果没有用,可能是镜像文件的问题,重新下载)。
(3)执行命令:sudo apt-get update 以更新软件列表,换源完成。


一些常用命令:

ctrl+alt+R:打开虚拟机终端
cd ~/ 切换到家目录下
cd / 切换到目录下
cd … 当前目录的上一级


3必要环境安装

sudo apt-get install gcc g++ python python-dev C++和python
sudo apt-get install mercurial NS3代码维护使用的源码版本控制管理系统
sudo apt-get install bzr 运行python绑定ns-3-dev需要bazaar这个组件
sudo apt-get install gdb valgrind 调试工具
sudo apt-get install gsl-bin libgsl-dev libgsl23 支持更多精确WIFI模块的GNU Scientific Library (GSL)
sudo apt-get install flex bison libfl-dev 仿真必需的词法分析器和语法分析生成器
sudo apt-get install g+±3.4 gcc-3.4 Network Simulation Cradle (nsc) stacks需要gcc-3.4
sudo apt-get install tcpdump 读取pcap的packet traces
sudo apt-get install sqlite sqlite3 libsqlite3-dev 支持统计特性的数据库软件
sudo apt-get install libxml2 libxml2-dev xml的配置存储软件
sudo apt-get install libgtk2.0-0 libgtk2.0-dev 基于GTK的配置系统
sudo apt-get install vtun lxc 在虚拟机and ns-3上测试
sudo apt-get install uncrustify 支持utils/check-style.py 代码风格检查程序
sudo apt-get install doxygen graphviz imagemagick 文档生成器
sudo apt-get install texlive texlive-extra-utils texlive-latex-extra
sudo apt-get install python-sphinx dia
sudo apt-get install python-pygraphviz python-kiwi python- - pygoocanvas libgoocanvas-dev Gustavo’s ns-3-pyviz的可视化软件
sudo apt-get install libboost-signals-dev libboost-filesystem-dev 支持openflow 模块
sudo apt-get install openmpi* 支持基于 MPI的分布式仿真


问题

(1)在执行sudo apt-get install gsl-bin libgsl-dev libgsl23 支持更多精确WIFI模块的GNU Scientific Library (GSL) 时出现错误提示,将原命令的“libgsl0-dev”替换成“libgsl-dev”就可以。
(2)在执行第15句和第16句的时候出现错误,暂时跳过。


4 NS3下载并安装

  这里在Ubuntu上安装百度网盘以下载这些文件,在浏览器里直接搜索百度网盘、下载即可。
  链接:  https://pan.baidu.com/s/1Fm7kJ1R41f5avIwRr9lwag
  提取码:w6lt
直接双击解压就可以。(这里我存在 /下载 里)(后来改为/load)


编译安装

  步骤1:在终端进入解压缩文件夹ns-allinone-3.30.1(注意不是ns-3.30),执行命令 sudo ./build.py。

cd ~/下载/ns-allinone-3.30.1
sudo ./build.py

  步骤2:配置编译,先进行配置ns3过程,再进行编译ns3过程。

cd ns-3.30.1
sudo ./waf clean //清除先前的配置编译
sudo ./waf -d debug --enable-example --enable-tests configure //基于waf的配置调试方式
sudo ./waf

  步骤3:测试ns3编译是否编译正确

sudo ./waf --run hello-simulator

打印"hello simulator",表示NS3安装成功。


5 JDK下载安装cd

(https://www.cnblogs.com/mufei/p/10452229.html)
1、 下载安装文件
链接:https://pan.baidu.com/s/1ZUj4RIP00iBmEqZCjpZLHQ
提取码:1vlj
我直接下载在主目录里

2、 解压缩至目标文件夹
如果目标文件夹存在则跳过此步骤,否则输入如下命令创建目标文件夹:
sudo mkdir /usr/lib/jvm
然后将主目录里下好的文件复制到该文件夹中
sudo cp jdk-14.0.1_linux-x64_bin.deb /usr/lib/jvm/jdk-14.0.1_linux-x64_bin.deb

然后切换到该文件夹:cd /usr/lib/jvm
输入如下命令将文件安装:
sudo dpkg -X jdk-14.0.1_linux-x64_bin.deb

3、 添加环境变量
输入如下命令打开文件:
sudo gedit ~/.bashrc
在.bashrc文件末尾加入如下语句:
#java jdk configuration
export JAVA_HOME=/usr/lib/jvm/jdk-14.0.1
export JRE_HOME=JAVAHOME/jreexportCLASSPATH=.:JAVAHOME/jre export CLASSPATH=.:JAVAHOME/jreexportCLASSPATH=.:JAVA_HOME/lib:JREHOME/lib:JRE_HOME/lib:JREHOME/lib:CLASSPATH
export PATH=JAVAHOME/bin:JAVA_HOME/bin:JAVAHOME/bin:JRE_HOME/bin:$PATH
输入如下命令运行使其立即生效:
source ~/.bashrc

本文安装中环境变量的修改在~/.bashrc中,仅针对当前用户,如果修改/etc/profile则针对所有用户。(最好修改成所有用户,这个需要root用户 的权限,不修改就没权限)

4、 测试JDK
输入如下命令查看JDK版本:
java --version
如若安装成功则显示如下内容:
java version “14.0.1”
Java™ SE Runtime Environment (build 1.7.0_17-b02)
Java HotSpot™ Server VM (build 23.7-b01, mixed mode)


6 eclipse下载安装

链接:https://pan.baidu.com/s/1un77Cno7d05cjjpwoLYveQ
提取码:urqw

1、解压缩至目标文件夹
输入如下命令将eclipse-cpp-luna-R-linux-gtk.tar.gz解压至目标文件夹:
sudo tar -zxvf ./eclipse-cpp-luna-R-linux-gtk.tar.gz -C /usr/local/
需要注意的是,本文安装实践中eclipse-cpp-luna-R-linux-gtk.tar.gz在当前用户的根目录下,tar命令的第二个参数为**./eclipse-cpp-luna-R-linux-gtk.tar.gz**,当然可以使用绝对路径,不再赘述。
解压成功后进入eclipse所在的目录
cd /usr/local/eclipse
执行

./eclipse

3.在 Eclipse 中配置 NS3

(1)新建 NS3 空工程
初始进入eclipse会提示你将workspace放在什么地方,我新建了一个文件hhh,Create a C++…-> C++ Managed Build 如下图所示在这里插入图片描述

(2)将 ns-3.30.1文件导入 Eclipse 的 NS3 工程中。
将解压后的 ns-3.30.1 文件夹中的文件全部复制到刚才新建的工作目录下

cd ~/下载/ns-allinone-3.30.1/ns-3.30.1
sudo cp -R ./
~/hhh/LLL/
*

进入NS3
cd ~/hhh/LLL
sudo ./waf -d debug --enable-examples --enable-tests configure

配置成功后,在eclipse所建的NS3工程点击右键选择"refresh"就可以看到导入的所有文件。

(3)设置 Eclipse 中 NS3 编译器为 waf
在 Project Explorer 中的 NS3 上单击右键,选择 properties(最下面),做如下操作:在C/C++ build 中的 Build Settings 选项卡如图所示(看图即可):去掉 use default build command 复选框中的钩,并在 build command 中输入workspaceloc:/testproject/waf;去掉generatemakefilesautomatically复选框中的钩,在builddirectory中输入{workspace_loc:/testproject/waf} ;去掉 generate makefiles automatically复选框中的钩,在 build directory 中输入workspaceloc:/testproject/waf;generatemakefilesautomatically,builddirectory{workspace_loc:/testproject/build}
在这里插入图片描述

然后,如图所示在 C/C++ Build 的 Behavior 选项卡中, Workbench Build Behavior 中的复选框都选上,前 2 个的值都为空,最后一个是 clean。
在这里插入图片描述

(4)设置 Eclipse 执行程序使用外部工具
选择 Run->External Tools->External tools Configuration,在 Program 中右键选择 New,如图所示
在这里插入图片描述
点击run,然后在显示的框中输入文件名,这里是scratch-simulator


6问题解决

https://www.cnblogs.com/qq952693358/p/5805183.html
里面提到了两个问题的解决方法,对于1,利用授予权限,去除锁
chmod -R 777 /home/wasdns/workspace/MyNS3_Mac/ns-3.25;问题2用下面这个命令解决,其中,user1是用户名,adm是用户组,可以通过cat /etc/group查看自己的用户名和用户组,后面是ns3项目的build文件夹中的ns3
sudo chown -R user1:adm ~/nstest/testproject/build/ns3
sudo chown -R yj:adm ~/nstest/testproject/build/ns3


推荐阅读
  • 本文详细介绍了如何在Ubuntu系统中下载适用于Intel处理器的64位版本,涵盖了不同Linux发行版对64位架构的不同命名方式,并提供了具体的下载链接和步骤。 ... [详细]
  • Windows 7 64位系统下Redis的安装与PHP Redis扩展配置
    本文详细介绍了在Windows 7 64位操作系统中安装Redis以及配置PHP Redis扩展的方法,包括下载、安装和基本使用步骤。适合对Redis和PHP集成感兴趣的开发人员参考。 ... [详细]
  • 本文详细记录了在基于Debian的Deepin 20操作系统上安装MySQL 5.7的具体步骤,包括软件包的选择、依赖项的处理及远程访问权限的配置。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • Windows 系统下 MySQL 8.0.11 的安装与配置
    本文详细介绍了在 Windows 操作系统中安装和配置 MySQL 8.0.11 的步骤,包括环境准备、安装过程以及后续配置,帮助用户顺利完成数据库的部署。 ... [详细]
  • 在Windows系统上安装VMware Workstation 2022的详细步骤
    本文将详细介绍如何在Windows系统上安装VMware Workstation 2022。包括从官方网站下载软件、选择合适的版本以及安装过程中的关键步骤。此外,还将提供一些激活密钥供参考。 ... [详细]
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • PostgreSQL 10 离线安装指南
    本文详细介绍了如何在无法联网的服务器上进行 PostgreSQL 10 的离线安装,并涵盖了从下载安装包到配置远程访问的完整步骤。 ... [详细]
  • 本文介绍如何在Linux Mint系统上搭建Rust开发环境,包括安装IntelliJ IDEA、Rust工具链及必要的插件。通过详细步骤,帮助开发者快速上手。 ... [详细]
  • 选择适合生产环境的Docker存储驱动
    本文旨在探讨如何在生产环境中选择合适的Docker存储驱动,并详细介绍不同Linux发行版下的配置方法。通过参考官方文档和兼容性矩阵,提供实用的操作指南。 ... [详细]
  • 本文介绍了如何在C#应用程序中有效隐藏SQLCMD命令行窗口,确保程序运行时不会弹出黑色命令提示符窗口。 ... [详细]
  • CentOS系统安装与配置常见问题及解决方案
    本文详细介绍了在CentOS系统安装过程中遇到的常见问题及其解决方案,包括Vi编辑器的操作、图形界面的安装、网络连接故障排除等。通过本文,读者可以更好地理解和解决这些常见问题。 ... [详细]
  • 在创建新的Android项目时,您可能会遇到aapt错误,提示无法打开libstdc++.so.6共享对象文件。本文将探讨该问题的原因及解决方案。 ... [详细]
  • 本文详细介绍了如何在预装Ubuntu系统的笔记本电脑上安装Windows 7。针对没有光驱的情况,提供了通过USB安装的具体方法,并解决了分区、驱动器无法识别等问题。 ... [详细]
author-avatar
小猪jieao_229
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有