Ubuntu 17.10 安装NS图文教程

2024-03-08 05:40

本文主要是介绍Ubuntu 17.10 安装NS图文教程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

注意:

不要使用sudo apt-get install ns2 

 不要使用sudo apt-get install nam

 1 NS2 简介

        NS2是指 Network Simulator version 2,NS(Network Simulator) 是一种针对网络技术的源代码免费的软件模拟平台,研究人员使用它可以很容易的进行网络技术的开发,而且发展到今天,它所包含的模块几乎涉及到了网络技术的所有方面。所以,NS成了目前学术界广泛使用的一种网络模拟软件。此外,NS也可作为一种辅助教学的工具,已被广泛应用在了网络技术的教学方面。因此,目前在学术界和教育界,有大量的人正在使用或试图使用NS。

2 NS2 安装

     ns版本有很多,这里我们选择ns2.35版本。下载地址:https://www.isi.edu/nsnam/ns/ns-build.html 最好复制该链接粘贴到新页面去打开,直接点击可能打不开。

1.     下载NS-2

找到如下页面,点击第一个most rencent release链接

    ns-2

    Download source:

  • most recent release (ns-2.35 released Nov 4 2011)
  • daily snapshot,
  • anonymous cvs (module "ns-2").

There may be known problems with the current version of ns; please check the ns installation problems web page for patches.

2. 更新系统安装包

       1) sudo apt-get  update          #更新源列表(不要改动sources.list文件)

       2) sudo apt-get upgrade          #更新已经安装的包

       3) sudo apt-get dist-upgrade     #更新软件,升级系统

3.安装NS2运行时需要的三个依赖包

       1) sudo apt-get install build-essential #(不要更改最初sources.list的源地址)
       2) sudo apt-get install tcl8.5 tcl8.5-dev tk8.5 tk8.5-dev #(注意版本)
安装这个依赖包后,在以后调试涉及./configure时会提示找不到tcl的路径,解决方法是 ./configure –with-tcl-ver=8.5

       3) sudo apt-get install libxmu-dev libxmu-headers  #for nam

4. 降级Ubuntu中gcc/g++的版本,需要进入/usr/bin目录下进行此操作

       1)通过gcc -v ,g++ -v 来查看当前gcc和g++版本。如下图所示,因为我已经降低国系统中的gcc和g++版本,所以系统中当前版本为gcc4.8.5和g++4.8.5(原来是7.8版本)。

        2)使用如下命令降低gcc,g++版本

             sudo apt-get install gcc-4.8

             sudo apt-get install g++-4.8

        3)安装完毕之后在/usr/bin目录下输入

             ls -l gcc*        #可以查看到当前的gcc链接(第一行位置),可以发现版本较高,于是我们需要修改为较低的

             sudo mv gcc gcc.bak      

             sudo ln -s gcc-4.8 gcc

             修改完gcc接着修改g++

             ls -l gcc*        #同样可以查看到当前的g++链接是较高版本,需要将其改为较低的

             sudo mv g++ g++.bak 

             sudo ln -s g++-4.8 g++

        4)使用gcc -v&&g++ -v查看gcc和g++版本号

          这时,应该可以看到如下图所示的gcc和g++版本号

4. 将下载好的ns-2.35放到/home/(用户名目录)/下(我设置的目录是/home/lwt/simulation/)

      1)tar xvfz ns-allinone-2.35.tar.gz     #解压文件到当前目录

      2)cd ns-allinone-2.35 #进入到解压文件目录下

5. 打开ns-alinone-2.35/ns-2.35/linkstate/ls.h 文件

      1)找到第137行(可以使用vim编辑器打开,如果打开文件后不显示行号可以使用:set number命令显示行号)

     

将 void eraseAll() { erase(baseMap::begin(), baseMap::end()); }改为:void eraseAll() { this->erase(baseMap::begin(), baseMap::end()); }保存(:wq)后退出

      2)进入ns-alinone-2.35目录下(在上一步基础上使用两次cd ..命令)

           ./install #进行安装ns-2.35

6. 配置环境变量

      1)gedit ~/.bashrc 命令编辑.bashrc文件,将下面的语句直接复制进去(/home/用户名/ 路径需要使用你自己解压的ns-2.35路径。ubuntu17.10 gedit命令可能不能用)
 

export NS_HOME=/home/用户名/ns-allinone-2.35  
export PATH=$PATH:$NS_HOME/bin:$NS_HOME/tcl8.5.10/unix:$NS_HOME/tk8.5.10/unix
export LD_LIBRARY_PATH=$NS_HOME/otcl-1.14:$NS_HOME/lib  
export TCL_LIBRARY=$NS_HOME/tcl8.5.10/library 

 如图所示

7. 打开新终端(ctrl-alt-t)

      1) cd /home/用户名/ns-allinone-2.35/ns-2.35/tcl/ex/

      2) ns simple.tcl

出现如下页面,则ns正确安装。

8. 若以上步骤失败,则尝试如下方法

使用第二种设置环境

 export NS_HOME=/home/用户名/ns-allinone-2.35 
 PATH=$PATH:$NS_HOME/bin:$NS_HOME/tcl8.5.10/unix:$NS_HOME/tk8.5.10/unix 
 LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$NS_HOME/otcl-1.14:$NS_HOME/lib 

 TCL_LIBRARY=$TCL_LIBRARY:$NS_HOME/tcl8.5.10/library

 

1)gedit  ~/.bashrc    #换一个环境变量方案,重复上面步骤

2)cd ns-allinone-2.35/nam-1.15     #进入nam目录 
3)./configure --with-tcl-ver=8.5   #重新配置
4) sudo  make                             #重新编译源码

5)sudo  make install                     #重新安装

命令行输入nam弹出nam console说明nam安装成功。

步骤九: 重复步骤七

这篇关于Ubuntu 17.10 安装NS图文教程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/786198

相关文章

python版本切换工具pyenv的安装及用法

《python版本切换工具pyenv的安装及用法》Pyenv是管理Python版本的最佳工具之一,特别适合开发者和需要切换多个Python版本的用户,:本文主要介绍python版本切换工具pyen... 目录Pyenv 是什么?安装 Pyenv(MACOS)使用 Homebrew:配置 shell(zsh

Python中Request的安装以及简单的使用方法图文教程

《Python中Request的安装以及简单的使用方法图文教程》python里的request库经常被用于进行网络爬虫,想要学习网络爬虫的同学必须得安装request这个第三方库,:本文主要介绍P... 目录1.Requests 安装cmd 窗口安装为pycharm安装在pycharm设置中为项目安装req

windows下安装Nginx全过程

《windows下安装Nginx全过程》文章介绍了HTTP和反向代理服务器的概念,包括正向代理和反向代理的区别,并详细描述了如何安装和配置Nginx作为反向代理服务器... 目录概念代理正向代理反向代理安装基本属性nginx.conf查询结构属性使用运行重启停止总结概念是一个高性能的HTTP和反向代理we

JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)

《JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)》:本文主要介绍如何在IntelliJIDEA2020.1中创建和部署一个JavaWeb项目,包括创建项目、配置Tomcat服务... 目录简介:一、创建项目二、tomcat部署1、将tomcat解压在一个自己找得到路径2、在idea中添加

Python + Streamlit项目部署方案超详细教程(非Docker版)

《Python+Streamlit项目部署方案超详细教程(非Docker版)》Streamlit是一款强大的Python框架,专为机器学习及数据可视化打造,:本文主要介绍Python+St... 目录一、针对 Alibaba Cloud linux/Centos 系统的完整部署方案1. 服务器基础配置(阿里

Spring IOC核心原理详解与运用实战教程

《SpringIOC核心原理详解与运用实战教程》本文详细解析了SpringIOC容器的核心原理,包括BeanFactory体系、依赖注入机制、循环依赖解决和三级缓存机制,同时,介绍了SpringBo... 目录1. Spring IOC核心原理深度解析1.1 BeanFactory体系与内部结构1.1.1

SpringBoot集成iText快速生成PDF教程

《SpringBoot集成iText快速生成PDF教程》本文介绍了如何在SpringBoot项目中集成iText9.4.0生成PDF文档,包括新特性的介绍、环境准备、Service层实现、Contro... 目录SpringBoot集成iText 9.4.0生成PDF一、iText 9新特性与架构变革二、环

2025最新版Android Studio安装及组件配置教程(SDK、JDK、Gradle)

《2025最新版AndroidStudio安装及组件配置教程(SDK、JDK、Gradle)》:本文主要介绍2025最新版AndroidStudio安装及组件配置(SDK、JDK、Gradle... 目录原生 android 简介Android Studio必备组件一、Android Studio安装二、A

前端Visual Studio Code安装配置教程之下载、汉化、常用组件及基本操作

《前端VisualStudioCode安装配置教程之下载、汉化、常用组件及基本操作》VisualStudioCode是微软推出的一个强大的代码编辑器,功能强大,操作简单便捷,还有着良好的用户界面,... 目录一、Visual Studio Code下载二、汉化三、常用组件1、Auto Rename Tag2

JavaScript装饰器从基础到实战教程

《JavaScript装饰器从基础到实战教程》装饰器是js中一种声明式语法特性,用于在不修改原始代码的情况下,动态扩展类、方法、属性或参数的行为,本文将从基础概念入手,逐步讲解装饰器的类型、用法、进阶... 目录一、装饰器基础概念1.1 什么是装饰器?1.2 装饰器的语法1.3 装饰器的执行时机二、装饰器的