Back to homepage

重新部署整个玩客云并安装甜糖

nios34于 February 16, 2021 发表在技术博文


前情提要:今早,未知狐(看到他的友链了吗,就在下面,点它)给我介绍了个能用闲置流量赚钱的软件——甜糖。我当然是直接冲冲冲。我找到了一个玩客云的一键安装脚本。图方便,我直接跑了起来。在脚本的自动重启结束后,ssh 没了。

重装 Armbian

其实这么做的原因不止有系统炸了,主要还是其他人折腾过这个系统(往上面装 docker 和 k8s 是真的 NB)。

第一步,当然是拆机。用尖锐一点的物品抵住 SD 卡插槽,然后把外面一层塑料膜翘出来。然后,你会看到一片面板上有 6 个螺丝。将它们拧下来放好。

第二步,刷机前的准备。现在,面板已经被拆除。我们可以看到里面的主板。将主板直接拔出,然后将一跟 USB 2.0 公对公连接线(没有的话,拿两根数据线剪开然后同颜色的线拧一起)插入靠近 HDMI 接口的 USB 口。

第三步,刷机。短接主板上的针脚,电脑刷机。(技术细节:知乎

大功告成!

挂载文件系统

玩客云自带的几个 G 肯定是不够用的。我们需要挂载更多!这里我的玩客云接上了:一个 32 GB U盘、一个 120 GB 硬盘盒和一张 16 GB TF卡。我决定使用 systemd 自动完成它们的挂载。我之所以不用 fstab,是因为 systemd 在挂载失败后还会继续启动而 fstab 如果出错只会进入单用户模式。那时,我会再次面对之前的处境。文件的内容很简单,格式和下面的相同。

[Unit]
Description = Here is your description.

[Mount]
What = /dev/sdXX
Where = /path/to/mountpoint
Type = ext4                   # Or whatever.
Options = defaults            # Or you place something intersting here.

[Install]
WantedBy = local-fs.target

要注意的是,如果你的挂载点是 /path/to/point,那你的配置文件名称应该为 path-to-point.mount。而且,软链接不会起作用!其它的挂载点同理,据说当路径里有 - 时,你需要把它改成 _。写完以后,保存到 /etc/systemd/system 下。下面是操作的方法:

$ systemctl start path-to-point.mount # 挂载文件系统 VICE VERSA

$ systemctl enable path-to-point.mount# 开机自动装载 VICE VERSA

$ systemctl status path-to-point.mount# 查看挂载情况

陆续写好了 TF 卡、硬盘和 U 盘的配置文件,另一个问题接踵而至——挂载失败。 dmesg 告诉我 Unrecognised features on journal。这是因为这个 ext4 系统是在高版本建立的,它具有我这个版本不具备的新特性。解决方法很简单,即干掉那个特性。

# e2fsck /dev/sda1

# tune2fs -O ^has_journal /dev/sda1

直接秒杀,问题解决。

部署 Cloudflare DDNS

这里 DDNS 直接使用 Gayhub 上的脚本。链接如下:https://github.com/yulewang/cloudflare-api-v4-ddns/。在 Cloudflare 上抄下自己的 Global API Token 然后将其填入 ShellScript就完事了。我想让它每小时检查一次 IP 变化,所以我在 crontab -e 中追加 0 * * * * /path/to/abc.sh

不同介质间备份

这里我也使用了上一节的定时任务,同步的命令是 rsync -ax --delete /path/to/data /path/to/backupfolder。其基本上与 rm -rf /path/to/backupfolder/data && cp -rf /path/to/data /path/to/backupfolder/data 等价,只不过更省时间就是了。

匿名 FTP 服务器

这里就略了,老一套没意思。地址是:http://home.050821.xyz:8448/。欢迎大家来下载资源(那种的没有 :-p)。

甜糖

部署甜糖,我也要使用 systemd。这样能更方便的监控其运作。建立一个叫做 tiantang.service 的文件,内容同下:

[Unit]
Description = Put your description here.

[Service]
Type = forking
ExecStart = /path/to/ttnode_172 -p /path/to/cachefolder

[Install]
WantedBy = multi-user.target

写完以后,同样地,扔到 /etc/systemd/system 去。操作方式也和 mount 一样,只不过去掉后缀。比如:systemctl start tiantang

似乎镜像中 eth0 的 MAC 地址是一样的,所以为了避免你的流量为别人做工。在第一次运行时,安装并使用这个命令 macchanger -r eth0。它会暂时改变你的 MAC 地址直至下一次重启,这是避免重复的好办法。

当然如果你已经启动过一次,那就请先删掉 /path/to/.yfnode 这个文件夹。随后的运行会初始化一个新的 ID 给你。

到这里,我的玩客云的部署已经完成了。最后上一张我配置目录的结构。 :-)

2021-02-16 22-43-13.png