• 写在前面

首先需要确定一些配置,因为在安装的过程中需要编译一些内容,所以需要提前准备好。

本人之前ubuntu系统可能比较乱,在尝试很多次安装后,仍然失败,所以就直接重装了一下。说一下我自己的一些配置:

ubuntu18.04、git、gcc、g++、python(2.7  ubuntu18.04自带的,不需要改变python的版本)

网络要求很高:在整个安装过程中,对网速的要求比较高,绝大多数安装过程出错的原因都是网络问题,很多包没有下载完全。

  • 安装

  • 下载

首先需要从github上下载:

git clone https://github.com/named-data/mini-ndn

这个过程

问题:一般会报错:fatal,TLS连接失败,这个也是网络问题

解决方法:再重新执行一次就可以

  • 安装

下载完成后,会在当前路径上出现一个mini-ndn的文件夹。

cd mini-ndn

./install.sh
-a all dependencies
-i install mink-ndn
-n install NDN dependcies of mini-ndn including infoedit
-p patch ndn-cxx with dummy key chain
-w install mininet-wifi and dependcies

进入文件夹之后,执行./install.sh的命令,然后./install.sh后面接不同的命令代表不同的意思。

一般安装过程中只会用到  -a  和  -w  两个命令。

建议第一次的时候,使用

./install.sh -a  安装所有的依赖

静静等待,祈祷不要报错,过程中可能会遇到 cloning xxx的时候,一直卡着不动,然后就报错的问题,这样的话就只能重新开始。

安装过程中如果遇到这些错误,不用管,对后面的安装不会有影响。

静静等待 x2

如图所示,即为build success。

-------------------------------------------------------------------------------------------------------------------------------

  • 测试1  nfd是否安装成功

但是,你以为到这里就结束了?(我一开始也是这样天真)这可能要根据你后面要做的工作来定

首先测试一下nfd是否安装成功:

sudo nfd-start

问题:如果出现了上图中的样子,说明nfd没有正常启动,看到exception的提示,去对应的文件夹下查看,发现并没有nfd.conf这个文件

解决方法:

sudo cp /usr/local/etc/ndn/nfd.conf.sample/usr/local/etc/ndn/nfd.conf

执行完之后,就会出现nfd.conf这个文件。

再次执行nfd-start,出现以下内容:(换了下ubuntu的主题,so ......)则说明nfd启动成功

  • 测试2 mininet-wifi是否安装成功

  • ndnputchunks是一个生产者程序,它从标准输入中读取文件,并将其作为NDN数据段提供。它根据NDN命名约定,将版本号和段号组件附加到指定的名称。
  • ndncatchunks是一个消费者程序,它获取文件的数据片段,可选地发现文件的最新版本,并将检索到的文件内容写入标准输出。
ndnputchunks -v /test < filename 生产者发送一个文件

ndncatchunks -v /test  消费者接收

问题:mininet-wifi和部分依赖没有安装好

解决方法:

./install.sh -w     install mininet-wifi and dependcies

前面说过,./install -w 是安装mininet-wifi和依赖的,继续执行。该过程中会有很多包需要collecting和cloning,如果遇到fatal或者下载超时,需要重新开始。

(因为家里网速不行,尝试了手机热点和换镜像源的方式,最后成功了,关于更换ubuntu镜像源的方式,请参照另一篇博客:https://www.cnblogs.com/laysfq/p/15229418.html

根据上面说过的测试方法,在两个窗口分别执行完成后,结果是:

ndnputchunks -v /test < filename 生产者发送一个文件



ndncatchunks -v /test  消费者接收

接收成功,到这里,整个 就算安装完成了。

还可以通过测试mini-ndn/mininet-wifi/examples文件夹下的代码来测试:(出现以下结果,即为成功)

sudo python ./sta_ap_mode.py

  • 写在最后

如果在安装过程中遇到其他的问题,欢迎私信我,邮箱地址:fq199911@163.com

另外感谢师兄和老师,整体的安装过程难度不大,主要是网络的问题,建议选择网速好且稳定的地方!




mini-ndn0.5.0 安装教程 (避免踩坑)的更多相关文章

  1. Windows环境下Android Studio v1.0安装教程

    Windows环境下Android Studio v1.0安装教程 准备工具 JDK安装包. 要求:JDK 7以及以上版本. Android Studio安装文件. Windows: exe(包含SD ...

  2. 【转】Windows环境下Android Studio v1.0安装教程

    原文网址:http://ask.android-studio.org/?/article/9 http://android-studio.org/index.php/docs/experience/1 ...

  3. Adobe After Effects 2017-14.0安装教程

    Adobe After Effects 2017-14.0安装教程 第一步:首先请将电脑的网络断开,很简单:禁用本地连接或者拔掉网线,这样就可以免除登录Creative Cloud帐号,安装更方便快捷 ...

  4. creo5.0安装教程(图文详解)

    PTC公司最近发布了Creo 5.0正式版 ,作为最具其革命性的新一代产品设计软件,其所提供专业的二维和三维设计设计,能帮助企业和公司进行产品生命周期管理(PLM)和制定服务管理解决方案.Creo5. ...

  5. Greenplum5.16.0 安装教程

    Greenplum5.16.0 安装教程 一.环境说明 1.1官方网站 Greenplum官方安装说明:https://gpdb.docs.pivotal.io/5160/install_guide/ ...

  6. Adobe Audition CC 2017 (10.0)安装教程

    Adobe Audition CC 2017 (10.0)安装教程 注:下载地址在文章末尾 第一步:首先请将电脑的网络断开,很简单:禁用本地连接或者拔掉网线,这样就可以免除登录Creative Clo ...

  7. Adobe Photoshop CC 2017-18.0安装教程

    Adobe Photoshop CC 2017-18.0安装教程 注:下载链接在文章后面 第一步:首先请将电脑的网络断开,很简单:禁用本地连接或者拔掉网线,这样就可以免除登录Creative Clou ...

  8. [转]Tomcat9.0安装教程 Tomcat9.0环境变量配置教程

    [转]Tomcat9.0安装教程 Tomcat9.0环境变量配置教程 [转]超详细MySQL安装及基本使用教程

  9. Android笔记——Windows环境下Android Studio v1.0安装教程

    本文主要讲解Windows环境下Android Studio的安装教程,Mac的Android Studio安装与此类似不在赘述,另外友情提示Windows下的SDK与Mac的SDK是通用的,可以直接 ...

  10. MySQL Server 5.0安装教程

    相信很多朋友刚开始接触mysql数据库服务器,下面是mysql的安装教程,步骤明细也有详细的说明. 工具/原料   mysql MySQL安装的图解   1 打开下载的mysql安装文件mysql-5 ...

随机推荐

  1. python 管理工具

    pip 包管理工具 virtualenv 虚拟环境管理工具 切换目录 virtualenvwrapper 虚拟环境管理工具加强版 pyenv python版本管理工具 修改环境变量 pyenv-vir ...

  2. gitlab维护之修改clone地址

    因为配置了域名访问gitlab私有仓库,但是在项目clone这里,显示的还是ip地址,并且还带端口,每次访问,clone都需要自己修改,比较不方便. 修改方法: sudo vim /opt/gitla ...

  3. Springboot通过拦截器拦截请求信息收集到日志

    1.需求 最近在工作中遇到的一个需求,将请求中的客户端类型.操作系统类型.ip.port.请求方式.URI以及请求参数值收集到日志中,网上找资料说用拦截器拦截所有请求然后收集信息,于是就开始了操作: ...

  4. 字节跳动Android实习面试难吗,应该如何应对?

    字节跳动的面试难不难其实很难去非常准确的定义,但是能肯定的一点是,字节跳动的面试题都很有水平,真正考察了该岗位在以后工作中需要的能力. 大学学的Java后面又自学Android方向,跟着老师在实验室做 ...

  5. 获取元素在页面中位置 getBoundingClientRect()

    DOM 原生方法getBoundingClientRect()获取元素相对视口位置 DOMRect 对象包含了一组用于描述边框的只读属性--left.top.right和bottom,单位为像素.除了 ...

  6. Seaborn基础画图实例

    使用seaborn画图时,经常不知道该该用什么函数.忘记函数的参数还有就是画出来的图单调不好看. 所以,本人对seaborn的一些常用的画图函数,并结合实例写成了代码,方便以后查询和记忆. 若代码或注 ...

  7. linux 高并发socket通信模型

    ------select 1 一个误区很多人认为它最大可以监听1024个,实际上却是文件描述符的值不能大于等于1024,所以除掉标准输入.输出.错误输出,一定少于1024个,如果在之前还打开了其他文件 ...

  8. Golang语言系列-04-运算符

    运算符 Go语言内置的运算符有 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 算术运算符 package main import "fmt" func main() { ...

  9. SpringBoot开发八-会话管理

    需求介绍-会话管理 利用Cookie和Seesion使得HTTP变成有会话的连接,写几个实例演示一下 代码实现 先写个例子,表示客户端第一次访问服务器,服务器端创建一个Cookie发送给客户端. 不管 ...

  10. ECDSA—模乘模块

    如果a,b属于GF(P),则有乘法运算a*b=r (mod p), 其中r满足0<r<p-1,即a*b除以p的余数.该操作成为模p乘法.本模块输入两个数,完成两个数的模乘运算. 信号名 方 ...