金就砺则利 ——荀子
✍文章痕迹
写作时间线
2023-01-29
- 安装原版系统,解决了连接问题
- 安装OMV(失败)
2023-01-31
- 安装了arozOS系统
- 实现了内网穿透
- 文章主体完成
2023-02-01
润色文章
2023-02-01
- 部署了alist网盘聚合系统
- 增加了alist服务5244端口映射到https://hub.si-on.top,(公共文件与https://cloud.si-on.top内容相同)
2023-02-04
- 补充了内网穿透安装的一些截图
- 补充了亮灯状态的解释
2024-05-27
- 整理了使用Docker的一些笔记
楔子
春节期间拾掇了过去一年中各个设备上的照片,并转移到了家里专门备份的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连接
无屏幕连wifi
该文章Site Unreachable提供了六个方法来连接wifi。
在没有屏幕/HDMI/HDMI转接头等情况下,我们就需要盲连(无头骑士),操作很简单,在烧录的时候配置一下信息即可。
咱们这里是通过手机热点来创建来一个局域网,树莓派连接后通过手机上的termux查询ip,最后通过电脑连接上树莓派。
termux上使用ip neigh
来查看ip
安卓上还有一个名为RasPi Check的软件,可以监控树莓派的状态,很是好用:
手动设置
烧录完成后,在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 "节点地址"
内网穿透
通过Cloudflare的cloudflared
工具实现内网穿透。具体步骤如下:
- 打开域名管理页下的access,提示转移到Zero Trust,在Zero Trust的
Access-Tunnels
下新建tunnel
(隧道)。 - 填写隧道名称,选择操作系统(树莓派4B2023年系统,选择
Debian-arm64-bit
),生成安装代码(代码由三部分组成:下载、安装、自动配置,最主要的是最后一部分)。 - 由于网络问题,可以用其他方式下载
cloudflared-linux-amd64.deb
然后上传并安装,最后执行服务安装指令。 这样以后,就可以在小小的树莓派上安装各种服务,大玩特玩了,跟VPS一样的体验!
成果
- 低成本NAS
- 小小的、低速的、无成本的、数据由自己掌握的云端服务器
软件部署
挂载硬盘
- 查看硬盘信息
1 | sudo fdisk -l |
- 查看分区的UUID
1 | blkid /dev/sda2 |
- 挂载到
/media/fish
目录
1 | sudo mkdir /media/fish |
1 | UUID=2C622BE6622BB38C /media/fish ntfs defaults,nofail,x-systemd.device-timeout=1,noatime 0 0 |
运维平台
就我个人使用体验来看,宝塔适用于服务器上的运维,1panel在自己的小服务器上运行更丝滑,当然因人而异。因为后者开源,更新及时,所以目前一直在用。
两者的安装都很简单:
- 宝塔通用安装脚本:
1 | sudo curl -sSO http://download.bt.cn/install/install_panel.sh && sudo bash install_panel.sh |
- 1Panel 的Debian安装脚本:
1 | curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && bash quick_start.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: |
Alist 网盘Hub
安装
1 | curl -fsSL "https://alist.nn.ci/v3.sh" | bash -s install |
1 | 下载 Alist latest ... |
配置
安装后进入localhost:5244
即可进入管理界面,然后参照说明文档进行配置,并添加多个云盘。