金就砺则利 ——荀子
文章痕迹
1 | {% timeline %} |
楔子
春节期间拾掇了过去一年中各个设备上的照片,并转移到了家里专门备份的300G硬盘上,期间居然在十年前的一个1G内存卡发现了小时候的一部分照片,十分欣慰,原本以为永远找不到了。
在整理完之后,又纠结了许久,终于下了狠心,断舍离,脱离对物品的执着!对把手机、相机都格式化了,新的起点,忘记过去吧!
又过了几天,想去回味回味,但觉着硬盘弄来弄去太麻烦,一旁正在认真吃灰的树莓派4B突然蹿入眼帘,emm,就决定是你了!物品准备:
- 树莓派4B(32G的SD卡一张)
- 一块闲置的硬盘
- 散热风扇
- 连接线若干(网线、电源线、USB线+合理的排线)
安装与连接
官方镜像
最好的还是官方的,下载树莓派专用镜像烧录软件: https://downloads.raspberrypi.org/imager/imager_latest.exe
里面的系统是比较全的,完全不需要在网上找镜像,软件里包含的镜像主要有:
- Raspberry Pi (32/64)
- Ubuntu
- Manjaro
- RISC OS Pi
- 3d打印专用
- 媒体播放专用
- 家庭助手
- 其他特殊用途
- 自定义镜像
笔者觉得选择64位最简版本的Raspberry Pi OS Lite (64-bit)
进行烧录就挺好,又快又不会有太多软件上的问题。
第三方NAS系统
ArozOS系统应该是除了OMV之外最好的,由于我安装OMV时失败了,故选择了这个系统,优点是非常简便,树莓派的安装镜像地址在仓库的读我文档里:tobychui/arozos: General purposed Web Desktop Operating Platform / OS for Raspberry Pis, Now written in Go! (github.com)
ssh连接
烧录完成后,在SD卡boot分区新建文件为userconfig.txt,内容为:
1 | pi:$6$Q7yQqYO94B9fI9jn$trNI8/yvcZ8WYleaYKN5qlrzQ3AhZXLZtcNkYJlSH16xGloh2ZiM4KeAay8GSBoQ09LZI/wMOxM3qeou7uZXq. |
通过路由器管理面板找到树莓派的ip(笔者这里是直接网线连接的),然后用电脑借助ssh连接,scp传递文件。
1 | ssh pi@192.168.101.?? |
指示灯状态解读
LED | 颜色 | 功能 | 正常状态 |
---|---|---|---|
ACT | 🟢 | card status | 闪烁:SD卡正在活动(类似电脑的硬盘灯) |
PWR | 🔴 | power | 不闪烁:正常 |
FDX | 🟠 | full duplex | 亮:全双工/不亮:半双工 |
LNK | 🟠 | link | 亮:网络连接成功 |
100 | 🟠 | 100 Mbps | 亮:100Mbps/不亮:1o Mbps |
换源
一切正常的话,会进入到树莓派的终端,现在就可以自由操作了,第一步先解决网络情况:
- 树莓派更换清华源(直接参考清华源的说明文档即可)
raspbian | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
- 新增github临时hosts(救急用)
- 更改DNS解析配置
/etc/resolv.conf
中的nameserver
为8.8.8.8
或其他大厂的DNS,不然之后内网穿透会报错。 - VPN(特殊情形)
- 下载gephARMv7,并上传至树莓派(ssh附带的scp命令可以实现)
- 更改文件访问权限
chmod u+x geph4-client-linux-armv7
- 运行该程序
./geph4-client-linux-armv7 connect --username xxx --password xxx --socks5-listen 0.0.0.0:9909
- 更改节点:先获取节点地址
./geph4-client-linux-armv7 sync --password xxx --username xxx
然后在结果中寻找节点地址,节点地址的形式:xx-xx-xx.exits.geph.io,头一个xx是国家代码。结束目前的迷雾通进程,用如下的命令重新运行一次:./geph4-client-linux-armv7 connect --password xxx --username xxx --socks5-listen 0.0.0.0:9909 --exit-server "节点地址"
软件部署
*宝塔后台
一个简易又复杂的后台,集成了很多操作,点击鼠标即可完成快速安装各种项目。官方的跨平台自适应安装脚本如下:
1 | sudo curl -sSO http://download.bt.cn/install/install_panel.sh && sudo bash install_panel.sh |
arozOS自编译
1 | curl -L https://raw.githubusercontent.com/tobychui/arozos/master/installer/install_for_pi.sh | bash |
由于自编译时需要安装Go框架,但网络问题无法解决(谷歌连接太慢),遂放弃自编译,选择镜像进行烧录(见§第三方NAS系统)。
在SD卡刷镜像安装成功后,升级问题又难以解决,现在的固件时1.120,最新的beta时2.10,更新是OTA模式的,需要借用作者开发的一个名为aroz-online/launcher: The ArozOS launcher for over the air (OTA) updates (github.com)的工具,但我chmod 775
后出现Segmentation fault
错误,可能是用户组的问题,无妨无妨,1.120够用了。
*OpenMediaVault安装
openmediavault 是一个基于 Debian 的完整网络附加存储 (NAS) 解决方案。
- 适用于 x86-64 和 ARM 平台
- 具有完整的 Web 管理界面
- 启用后可以通过 SSH 进行控制
- 可以使用各种不同的协议访问文件存储,例如 作为 FTP、SMB/CIFS 或 NFS,对于用户和组,也可通过访问权限管理进行控制
OpenMediaVault主要用于家庭环境或小型家庭办公室,但不限于这些场景。这是一个简单易用的开箱即用的(out-of-the-box)解决方案,每个人都可以安装和管理,无需网络和存储系统的专家级知识。该系统建立在模块化设计之上,安装基本系统后可以通过插件轻松扩展。其他第三方 插件可通过OMV-Extras存储库获得。
参考官方安装方法:在 Debian 上的安装 — openmediavault 6.x.y 文档与清华源帮助:OpenMediaVault | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
手动安装 openmediavault 密钥环:
1 | apt-get install --yes gnupg |
添加包存储库:
1 | cat <<EOF > /etc/apt/sources.list.d/openmediavault.list |
安装 openmediavault 软件包:
1 | export LANG=C.UTF-8 |
正常的话,到这一步就结束了。但谁让我命途多舛,偏偏又遇到了一个问题,而且搜了好久都找不到解决办法,遂放弃OMV,如有人能解决,我感激不尽。
1 | > Errors were encountered while processing: |
内网穿透
通过Cloudflare的cloudflared
工具实现内网穿透。具体步骤如下:
- 打开域名管理页下的access,提示转移到Zero Trust,在Zero Trust的
Access-Tunnels
下新建tunnel
(隧道)。
- 填写隧道名称,选择操作系统(树莓派4B2023年系统,选择
Debian-arm64-bit
),生成安装代码(代码由三部分组成:下载、安装、自动配置,最主要的是最后一部分)。
- 由于网络问题,可以用其他方式下载
cloudflared-linux-amd64.deb
然后上传并安装,最后执行服务安装指令。
这样以后,就可以在小小的树莓派上安装各种服务,大玩特玩了,跟VPS一样的体验!
成果
- 低成本NAS
- 小小的、低速的、无成本的、数据由自己掌握的云端服务器
Alist 网盘Hub
安装
1 | curl -fsSL "https://alist.nn.ci/v3.sh" | bash -s install |
1 | 下载 Alist latest ... |
配置
安装后进入localhost:5244
即可进入管理界面,然后参照说明文档进行配置,并添加多个云盘。