• 写在前面

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

本人之前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 接口测试之 图片识别

    4.1 pytesser安装 2.安装pytesser,下载地址:http://code.google.com/p/pytesser/ ,下载后直接将其解压到项目代码下,或者解压到python安装目录 ...

  2. django中路由配置的正则

    在django中配置路由遇到正则的坑: django2.x版本中使用re_path来进行正则表达式的匹配 用法如下: from Django.urls import re.path(导入re_path ...

  3. 使用JavaScript输出带有边框的乘法表

    在学习JavaScript(以下简称为js)过程中,会遇到输出9*9乘法表的问题,我们都知道利用双重for循环可以很简单的在网页中打印出来,可是你在做的过程中有没有想着给这个乘法表加一点花样呢? 下面 ...

  4. Intouch/ifix语音报警系统制作(4-自动发送邮件提醒)

    在近期项目完成后,有遇到情况:类似于语音报警后,中控室人员未及时报告给我们造成了事件的危害升级,以及造成很不好的影响.针对这个情况特此添加语音报警后,自动发送邮件提醒,完善现有的报警机制. 1.函数编 ...

  5. Nexus Repository Manager 3 远程命令执行漏洞(CVE-2019-7238)

    poc地址 https://github.com/magicming200/CVE-2019-7238_Nexus_RCE_Tool

  6. SQL SERVER获取表在哪些存储过程中使用过

    1.获取某张表在哪些存储过程中使用到 select distinct object_name(id) from syscomments where id in (select object_id fr ...

  7. 学习mybatis框架>从零开始学JAVA

    目录 学习mybatis框架 mybatis框架的介绍 什么是mybatis框架 为什么要使用mybatis框架 mybatis的优点 Mybatis框架环境搭建 去官网下载jar包 创建一个普通的j ...

  8. vue页面初始化

    HTML: <div id="app"> <input type="" class="app" v-model=" ...

  9. 掌握JavaScript中的Promise,实现异步编程

    事件循环 基本介绍 JavaScript是一门单线程的编程语言,所以没有真正意义上的并行特性. 为了协调事件处理.页面交互.脚本调用.UI渲染.网络请求等行为对主线程造成的影响,事件循环(event ...

  10. [SQL]修改和删除基本表

    修改基本表 SQL语言用alter table语句修改基本表,其一般格式如下: alter table <表名> add <列名> <数据类型> [<列级完整 ...