树莓派搭建pydio——轻量级私有云存储

IFileSpace,Cloudreve,NextCloud,FileRun,都折腾完了,前两个一个没手机端,一个还没发展完全,NextCloud老感觉不够纯粹,FileRun使用docker搭建的,但不是官方的,也有点不是滋味(啥都喜欢用最新的)。

pydio官方docker镜像只有amd64版(与FileRun一样),但是无意中发现新版使用Go语言重新编写,这意味着随处可安装,且easy。

开搞。

一、配置GO环境

官网下载对应包,进入/usr/local路径,咦,居然有go目录,输入Go version,好吧,已经有了还是最新版,看来这个系统自带了。删除下载的包,直接进入第二步。(哈哈,写完之后发现应该是以前安装的,大家自行去官网看教程安装。)

二、搭建pydio

  1. 根据文档先把Go模块配置改成自动。

go env -w GO111MODULE=auto

查看是否成功。注意留意下GOPATH后面的路径,待会需要。

go env

  1. 输入安装命令

go get -u github.com/pydio/cells

漫长的等待,buang,报错。配置Go代理

go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.io,direct

要是哪个命令报错,使用unset重置下,比如:unset GOPROXY。

继续输入安装命令,ok,已经有反应了,又是漫长的等待。

倒杯茶,做几个俯卧撑,慢悠悠地走到屏幕前。

嗯,满屏红色,喝茶都没心思了。

进入GOPATH目录,里面的pydio目录下,空空如也。

欸,我这暴脾气,非得给你运行起来。

反正就是网络原因,那我去到我的fq服务器。

配置完go环境,输入上面的安装命令。

几分钟后,哟,成了。GOPATH目录下,满满当当的pydio文件。

  1. 进入下载好的cell目录,编译源文件。

go build

几分钟后,cells文件成功生成。

  1. 拷贝cells到树莓派上运行。

# 进入cells文件目录
chmod +x ./cells
./cells start

回车后,我的瞳孔放大了,但是眉毛下拉了,还是timid报错。

好在这个错误我看得多了,就是架构不匹配,输入file cells 发现文件是amd64的,这不就是官网那个文件吗。

因为我是在amd64服务器上 go build 的,所以生成的是这个架构文件,没啥可说的。

于是我去到Go官方文档,了解到了交叉编译,就是在服务器上可以编译其他平台的执行文件。

使用方法也很简单(为了这个简单,流逝了我几个小时)。

回到第3步,使用下面命令重新构建。

env GOOS=linux GOARCH=arm64 go build -o cells_arm64

成功生成,使用 file cells_arm64 得到应得的结果。

  1. 将树莓派之前的cells删掉,重新拷贝并命名cells,再次运行第四步。有个小警告,解决下

vi /etc/security/limits.conf

# 文件末尾加入下面两行
* soft nofile 16384
* hard nofile 16384

再次运行。全是不支持的驱动类型。

官网明文规定,只支持amd64系统,看来逆天改命无望。

朕也乏了,运行rm cells 折腾下一款去。

三、总结

虽说无果而终,但是知道了go的交叉编译,知道了官网的白字黑字不是瞎说,也值当了。

发表评论

邮箱地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.