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

相关文章

SpringBoot集成redisson实现延时队列教程

《SpringBoot集成redisson实现延时队列教程》文章介绍了使用Redisson实现延迟队列的完整步骤,包括依赖导入、Redis配置、工具类封装、业务枚举定义、执行器实现、Bean创建、消费... 目录1、先给项目导入Redisson依赖2、配置redis3、创建 RedissonConfig 配

RabbitMQ 延时队列插件安装与使用示例详解(基于 Delayed Message Plugin)

《RabbitMQ延时队列插件安装与使用示例详解(基于DelayedMessagePlugin)》本文详解RabbitMQ通过安装rabbitmq_delayed_message_exchan... 目录 一、什么是 RabbitMQ 延时队列? 二、安装前准备✅ RabbitMQ 环境要求 三、安装延时队

Ubuntu如何升级Python版本

《Ubuntu如何升级Python版本》Ubuntu22.04Docker中,安装Python3.11后,使用update-alternatives设置为默认版本,最后用python3-V验证... 目China编程录问题描述前提环境解决方法总结问题描述Ubuntu22.04系统自带python3.10,想升级

基于C#实现PDF转图片的详细教程

《基于C#实现PDF转图片的详细教程》在数字化办公场景中,PDF文件的可视化处理需求日益增长,本文将围绕Spire.PDFfor.NET这一工具,详解如何通过C#将PDF转换为JPG、PNG等主流图片... 目录引言一、组件部署二、快速入门:PDF 转图片的核心 C# 代码三、分辨率设置 - 清晰度的决定因

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

Java Scanner类解析与实战教程

《JavaScanner类解析与实战教程》JavaScanner类(java.util包)是文本输入解析工具,支持基本类型和字符串读取,基于Readable接口与正则分隔符实现,适用于控制台、文件输... 目录一、核心设计与工作原理1.底层依赖2.解析机制A.核心逻辑基于分隔符(delimiter)和模式匹

Unity新手入门学习殿堂级知识详细讲解(图文)

《Unity新手入门学习殿堂级知识详细讲解(图文)》Unity是一款跨平台游戏引擎,支持2D/3D及VR/AR开发,核心功能模块包括图形、音频、物理等,通过可视化编辑器与脚本扩展实现开发,项目结构含A... 目录入门概述什么是 UnityUnity引擎基础认知编辑器核心操作Unity 编辑器项目模式分类工程

spring AMQP代码生成rabbitmq的exchange and queue教程

《springAMQP代码生成rabbitmq的exchangeandqueue教程》使用SpringAMQP代码直接创建RabbitMQexchange和queue,并确保绑定关系自动成立,简... 目录spring AMQP代码生成rabbitmq的exchange and 编程queue执行结果总结s

Python库 Django 的简介、安装、用法入门教程

《Python库Django的简介、安装、用法入门教程》Django是Python最流行的Web框架之一,它帮助开发者快速、高效地构建功能强大的Web应用程序,接下来我们将从简介、安装到用法详解,... 目录一、Django 简介 二、Django 的安装教程 1. 创建虚拟环境2. 安装Django三、创

linux安装、更新、卸载anaconda实践

《linux安装、更新、卸载anaconda实践》Anaconda是基于conda的科学计算环境,集成1400+包及依赖,安装需下载脚本、接受协议、设置路径、配置环境变量,更新与卸载通过conda命令... 目录随意找一个目录下载安装脚本检查许可证协议,ENTER就可以安装完毕之后激活anaconda安装更