Ubuntu apt安装和更新软件包太慢,考虑使用IPFS创建一个镜像站点。使用IPFS创建软件仓库源能够将版本永久保存,防止软件包灭失和版本错误。并且能够在任何地方创建存储,经过使用P2P机制传输,从而有可能大大加快安装过程。git
须要这几个步骤:github
第一次下载的Ubuntu镜像包将近一个TB,须要较长的时间。json
具体方法参见:ubuntu
须要启用file store特征(目前仍是体验阶段,不稳定),以下:服务器
ipfs config --json Experimental.FilestoreEnabled true
而后,运行:ionic
ipfs add -r mirror --nocopy
加了--nocopy参数后,再也不复制文件内容,能够减小存储空间和加入IPFS repo的时间。spa
不过,在运行到这里时,出错。再次运行,仍是出错。反馈IPFS开发组后,只能暂时等等了。.net
added Qmety5wAXby6LRpfki6cTHsBuho643x32Ye49NyN6bW1Gc mirror/ubuntu/dists/bionic/main/installer-i386/20101020ubuntu529/images/netboot/mini.iso 7.28 GB / 856.61 GB [==>-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------] 0.85% 4h3m11spanic: interface conversion: interface {} is cmdkit.Error, not *coreunix.AddedObject goroutine 37 [running]: github.com/ipfs/go-ipfs/core/commands.glob..func7.2(0xc4201600c0) /go/src/github.com/ipfs/go-ipfs/core/commands/add.go:405 +0xa60 created by github.com/ipfs/go-ipfs/core/commands.glob..func7.3 /go/src/github.com/ipfs/go-ipfs/core/commands/add.go:467 +0xc7
apt主要依据/etc/apt/source.list的配置进行访问安装包的源。须要:设计
由于IPFS是设计为永久保存的版本化存储系统,而Ubuntu的镜像库天天都有更新,每一次更新后再加入IPFS后,主目录的HashID会发生变化,从而致使客户端访问地址发生改变。所以,须要将这个动态的IPFS地址映射到一个不变的域名地址上去,以免每次修改客户端的apt访问地址。unix
方法主要有: