起因想监控啥我也已经不知道了,反正就知道想往 Raspberry Pi 2 里装个 InfluxDB 玩玩。

最开始 RPi 上用的是官方的 Raspian,官方源里的 Go 的版本只有 1.3,但是 InfluxDB 要求最低的版本也得是 1.4……好吧,那我就去 Go 的官方看看怎么装。

TL;DR:都是 Go 的错! (雾)

嗯,没有 ARMv7 的 binary,意料之中嘛。嗯?想编译 1.5 版本必须得先装 1.4 版本的?!1.4 怎么装?你 TM 怎么就跟我说去下 binary 啊!你没给我 binary 让我装毛个 binary 啊 (╯°□°)╯︵ ┻━┻

试了一下官方说的 bootstrap.bash,莫名其妙不行。还有一个方案是用 gccgo,源里也没有 gccgo 的 binary。好吧你杀了我吧,要编译两个大玩意,我不跟你玩了……

这时,我发现 Arch Linux ARM 的包很新很丰富,不错不错,去装了玩吧。嗯,按官方的教程来,要给 SD 卡分区。在 Mac 上肯定不太好搞,原生不支持 ext4。我还有个装个 ArchLinux 的虚拟机呢!(上一次入的 Gentoo 的坑出来了,还是 binary 好啊 T_T)结果莫名其妙在 VirtualBox 里面就是写不进,各种错,我一度以为 SD 卡坏了。最后还是借了我妈的电脑写上了。

在 Arch Linux ARM 上有那么多最新的包就是舒爽。速度装上 Go 1.5.3,开装。天朝网络不好,一个 go get 进度条都看不见,也不知道是还在下载还是死掉了。

半个世纪之后……

把 InfluxDB 的源码拖下来后,又要 go get 了……

半个世纪之后……

报了个错,因为其中用到的 crypto 库在 Google 的服务器里,显然,被墙了。

不怕不怕,我有 VPN 的嘛。往 RPi 里装上 pptpclient,创建连接。又被坑到了……内核没加 MPPE 模块……

打内核补丁啥的还是算了,我还有 shadowsocks 呢。Google 上一查,go get 可以方便地用 http_proxy 设置上 http 代理。打开 shadowsocks,拿 polipo 把 socks 代理转成 http 代理,这样应该就能给 go get 用了吧。

结果还是失败了……我还以为 shadowsocks 没配置好,又到电脑上拿 Squid 分享出一个 http 代理来给 RPi 用,还是一样的错误,难道我这个 http 代理不支持 https?拿 curl 通过 http 代理直接下载那个说访问超时的页面,发现是可以的!那说明我的 http 代理是成功的啊,那是哪里错了呢?

折腾了半世纪后……

发现那里其实是 git pull 不到内容,因为 git 没有用 http_proxy,再补上 https_proxy 就行了……

Go:开头那个 TL;DR 怎么回事啊,怎么都是我的错啦!你看后面都是 GFW 的锅好吧!

PS:其实我本来在家里路由器上配了代理的,所有境外网站都走 VPN,那样 GFW 就对我没有任何影响了。但是天朝网不好,VPN 不时会断,在刚断的时候,路由表还没切,于是短时间内没被墙的外国网站也上不了了。我爸几次碰到了这种情况,觉得体验不好,就让我把路由器上的代理关了,反正电脑上挂也一样。这么一说变成我爸的错了23333