mini-ndn0.5.0 安装教程 (避免踩坑)
写在前面
首先需要确定一些配置,因为在安装的过程中需要编译一些内容,所以需要提前准备好。
本人之前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 安装教程 (避免踩坑)的更多相关文章
- Windows环境下Android Studio v1.0安装教程
Windows环境下Android Studio v1.0安装教程 准备工具 JDK安装包. 要求:JDK 7以及以上版本. Android Studio安装文件. Windows: exe(包含SD ...
- 【转】Windows环境下Android Studio v1.0安装教程
原文网址:http://ask.android-studio.org/?/article/9 http://android-studio.org/index.php/docs/experience/1 ...
- Adobe After Effects 2017-14.0安装教程
Adobe After Effects 2017-14.0安装教程 第一步:首先请将电脑的网络断开,很简单:禁用本地连接或者拔掉网线,这样就可以免除登录Creative Cloud帐号,安装更方便快捷 ...
- creo5.0安装教程(图文详解)
PTC公司最近发布了Creo 5.0正式版 ,作为最具其革命性的新一代产品设计软件,其所提供专业的二维和三维设计设计,能帮助企业和公司进行产品生命周期管理(PLM)和制定服务管理解决方案.Creo5. ...
- Greenplum5.16.0 安装教程
Greenplum5.16.0 安装教程 一.环境说明 1.1官方网站 Greenplum官方安装说明:https://gpdb.docs.pivotal.io/5160/install_guide/ ...
- Adobe Audition CC 2017 (10.0)安装教程
Adobe Audition CC 2017 (10.0)安装教程 注:下载地址在文章末尾 第一步:首先请将电脑的网络断开,很简单:禁用本地连接或者拔掉网线,这样就可以免除登录Creative Clo ...
- Adobe Photoshop CC 2017-18.0安装教程
Adobe Photoshop CC 2017-18.0安装教程 注:下载链接在文章后面 第一步:首先请将电脑的网络断开,很简单:禁用本地连接或者拔掉网线,这样就可以免除登录Creative Clou ...
- [转]Tomcat9.0安装教程 Tomcat9.0环境变量配置教程
[转]Tomcat9.0安装教程 Tomcat9.0环境变量配置教程 [转]超详细MySQL安装及基本使用教程
- Android笔记——Windows环境下Android Studio v1.0安装教程
本文主要讲解Windows环境下Android Studio的安装教程,Mac的Android Studio安装与此类似不在赘述,另外友情提示Windows下的SDK与Mac的SDK是通用的,可以直接 ...
- MySQL Server 5.0安装教程
相信很多朋友刚开始接触mysql数据库服务器,下面是mysql的安装教程,步骤明细也有详细的说明. 工具/原料 mysql MySQL安装的图解 1 打开下载的mysql安装文件mysql-5 ...
随机推荐
- python 管理工具
pip 包管理工具 virtualenv 虚拟环境管理工具 切换目录 virtualenvwrapper 虚拟环境管理工具加强版 pyenv python版本管理工具 修改环境变量 pyenv-vir ...
- gitlab维护之修改clone地址
因为配置了域名访问gitlab私有仓库,但是在项目clone这里,显示的还是ip地址,并且还带端口,每次访问,clone都需要自己修改,比较不方便. 修改方法: sudo vim /opt/gitla ...
- Springboot通过拦截器拦截请求信息收集到日志
1.需求 最近在工作中遇到的一个需求,将请求中的客户端类型.操作系统类型.ip.port.请求方式.URI以及请求参数值收集到日志中,网上找资料说用拦截器拦截所有请求然后收集信息,于是就开始了操作: ...
- 字节跳动Android实习面试难吗,应该如何应对?
字节跳动的面试难不难其实很难去非常准确的定义,但是能肯定的一点是,字节跳动的面试题都很有水平,真正考察了该岗位在以后工作中需要的能力. 大学学的Java后面又自学Android方向,跟着老师在实验室做 ...
- 获取元素在页面中位置 getBoundingClientRect()
DOM 原生方法getBoundingClientRect()获取元素相对视口位置 DOMRect 对象包含了一组用于描述边框的只读属性--left.top.right和bottom,单位为像素.除了 ...
- Seaborn基础画图实例
使用seaborn画图时,经常不知道该该用什么函数.忘记函数的参数还有就是画出来的图单调不好看. 所以,本人对seaborn的一些常用的画图函数,并结合实例写成了代码,方便以后查询和记忆. 若代码或注 ...
- linux 高并发socket通信模型
------select 1 一个误区很多人认为它最大可以监听1024个,实际上却是文件描述符的值不能大于等于1024,所以除掉标准输入.输出.错误输出,一定少于1024个,如果在之前还打开了其他文件 ...
- Golang语言系列-04-运算符
运算符 Go语言内置的运算符有 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 算术运算符 package main import "fmt" func main() { ...
- SpringBoot开发八-会话管理
需求介绍-会话管理 利用Cookie和Seesion使得HTTP变成有会话的连接,写几个实例演示一下 代码实现 先写个例子,表示客户端第一次访问服务器,服务器端创建一个Cookie发送给客户端. 不管 ...
- ECDSA—模乘模块
如果a,b属于GF(P),则有乘法运算a*b=r (mod p), 其中r满足0<r<p-1,即a*b除以p的余数.该操作成为模p乘法.本模块输入两个数,完成两个数的模乘运算. 信号名 方 ...
