这篇文章上次修改于 1055 天前,可能其部分内容已经发生变化,如有疑问可询问作者。

声明

本文未经允许禁止转载,且不得用于商业用途。
BILIBILI@Ancha安茗

前言

网上的NAS搭建教程其实并不算少,但是延伸到树莓派,延伸到OMV5,再延伸到Docker,其实并不算多。从OMV5的安装部署到Docker的安装,镜像的部署,到最终功能的实现,其实是需要一定的基础知识储备的,同时也应该做好大量试错的准备,我想这些都难不倒聪明的你。

这篇文章删删改改好多次,刚开始是打算面向新手的教程,但是由于我能力有限,且篇幅实在过长没有重点,因此还是把重点放在排错上,更多的会讲述可能会遇到的问题,问题的原因以及可能的解决方法,很少讲述相关的基础知识,希望大家有兴趣能够自行学习。由于自身才疏学浅,本文在分析原因和提供解决方法的时候会大量使用可能这个词,仅作参考。

你可能需要了解:Linux的基础知识(用户及文件权限),网络的相关概念(TCP/IP),OpenMediaVault的使用方法,Docker的基本原理及使用方法。

想要动手实践的你请先看完整篇文章,我会以常规部署后报错并解决的流程讲述这次搭建过程,因此有很多错误可以事先避免,节省时间,提高效率。

前期准备工作

这部分网上教程众多,我们只提供一些镜像和工具的官网下载地址,讲述可能会遇到的问题,比较简略。

过程概述

  1. 准备镜像以及工具
  2. 烧写镜像
  3. 创建SSH文件
  4. 连接电脑或路由器
  5. SSH连接,更改密码

镜像及文件

烧写镜像

你可能会在下面两种种情况遇到报错。

  • 开始烧写镜像时报错
  • 烧写过程中报错

可能的原因:文件占用,Windows系统占用。

解决方法:删除所有分区,烧写过程中避免打开资源管理器。

在烧写完成后你可能会遇到下面这个问题。

  • 烧写完成后看不见分区

可能的解决方法:重新插拔SD卡。

你可能会用到:

磁盘管理:右键此电脑->管理->磁盘管理

系统初始化

由于OMV5安装完成后无法使用WiFi,因此仅作为记录。

boot分区创建文件。

ssh
# 空文件。
wpa_supplicant.conf
# 修改ssid和psk。
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=CN

network={
    ssid="YOUR-WIFI-SSID"
    psk="Your-WIFI-PASSWOED"
    key_mgmt=WPA-PSK
}

网络连接

可以连接电脑或者路由器,但是在这个项目中没有必要现在连接WiFi。

在连接电脑后,你可能会遇到下面的问题。

  • 没有找到到树莓派的IP地址
  • 树莓派没有网络

可能的原因:系统不作为网关,没有为树莓派分配一个iP地址,且树莓派没有与外部网络的连接。

可能的解决方法:将WLAN网络分享给以太网,系统将作为网关(192.168.137.1)为树莓派分配一个IP地址,树莓派能够上网。

你可能会用到:

网络连接设置: 设置->网络和Internet->以太网->更改适配器选项

WLAN共享:右键WLAN->共享->允许其他网络用户通过此计算机的Internet连接来连接

SSH连接

默认用户名:pi

默认密码:raspberry

你可能会遇到以下问题。

  • 连接被拒绝

可能的原因:用户名和密码错误,SSH未开启。

可能的解决方法:检查用户名和密码,检查是否创建了SSH文件,检查系统是不是Raspberry OS,查询对应系统的用户名密码。

小结

这部分比较简单,同时网上的教程非常多,因此只是讲了一下我遇到过的和可能会遇到的一些问题,这些问题非常容易解决,一般没有什么难度,毕竟这是上手树莓派的基本嘛,折腾树莓派,刷系统也是一种浪漫啊。

安装配置OMV5

由于是在树莓派上运行OMV系统,性能受限,也毕竟不是主流的X86架构,又因为OMV5的版本比较新,支持的插件不多,难免会有一些BUG。正是因为这些原因,才有了这篇文章。

过程概述

  1. 运行官方安装脚本查看报错信息
  2. 查询无法连接的网址的真实IP地址
  3. 再次运行官方安装脚本
  4. 重启后登录OMV后台
  5. 配置网络
  6. 配置基本设置,硬盘,文件系统
  7. 添加或管理用户和用户组
  8. 创建共享文件夹,分配权限
  9. SMB/CIFS中设置共享

安装OMV5

官方暂时没有提供树莓派可用的OMV5镜像,只提供了手动的命令行安装方法,详情移步官方文档

我们按照官方提供的命令来安装。
image-20200710193202176

更新索引:

sudo apt update

进入Downloads目录下下载并运行OMV官方安装脚本:

cd Downloads/
wget -O - https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install | sudo bash

# 报错:连接被拒绝。
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|::|:443... failed: Connection refused.

你可能会遇到以上报错。

可能的原因:由于DNS污染导致找不到正确的IP地址。

可能的解决方法:我们通过访问IP地址查询网站可以查找到raw.githubusercontent.com的真实IP地址,目前我们得到的是199.232.68.133

编辑hosts文件:

sudo nano /etc/hosts

在最后一行追加内容(IP地址根据实际情况修改):

# GitHub Start
199.232.68.133    raw.githubusercontent.com
# GitHub End

保存后重新运行安装命令,等待安装完成并重启,根据网络情况可能需要1小时以上,建议喝杯茶睡个觉。

你可能会用到:

IP地址查询:ipaddress.com/ip138.com

配置OMV5

重启后树莓派的IP地址会发生变化。

image-20200710224131819

默认用户名:admin

默认密码:openmediavault

基本配置

如Web管理员密码,时区等。

也可以选择性的开启一些监测功能。

配置网络

我们需要删除原来的eth0,重新添加以太网,IPv4选择静态(连接路由器的话选择DHCP,并在路由器后台为树莓派分配静态IP地址),子网掩码为255.255.255.0,IPv6选择DHCP后保存。

接着添加WiFi(连接路由器无需添加),IPv4和IPv6都选择DHCP后保存。

image-20200711171901359

在应用后。你可能会遇到一个报错。

可能的原因:一般是设置的IP地址与当前访问的不同而无法连接,说明设置生效了。

可能的解决方法:忽略。

配置硬盘

需要注意的事项:

  • 外置机械硬盘为了安全起见一定要注意供电
  • 固态硬盘实测可以直接使用

第一次使用的硬盘可以选择擦除硬盘后创建文件系统,建议使用ETX4。

你可能会遇到的问题。

  • 在添加共享文件夹等其他操作时不显示外置硬盘设备

可能的原因:一般第一次使用不会出现这个问题,在重新安装OMV后大概率会在添加共享文件夹等操作时显示不出设备,可能是系统后台自动挂载了,处于安全考虑无法选择。

可能的解决方法:在文件系统中卸载分区后重新挂载。

配置用户及用户组

善用用户以及用户组。每个使用者设置一个用户,每个需要读写共享文件夹的服务分配一个用户,把它们分配到对应的用户组中,并设置各自相应的权限,保证每个用户只能在规定的权限范围内读写文件,不能越权操作。

贯彻这样的原则,这样能够保证数据的相对安全,且更加方便管理。

同时,对于不需要登录SSH的用户,为了安全起见,我们应该把这些用户的Shell修改为/usr/sbin/nologin,确保这些用户无法使用命令行。

你可能会在删除默认的pi用户时报错并遇到以下问题。

  • 无法登录SSH

可能的原因:报错是因为无法删除默认的pi用户,但是该用户可能已经不在任何一个用户组中,也不在ssh用户组中。

可能的解决方法:重新添加pi用户并把该用户分配到ssh用户组中。

配置共享文件夹

我们首先也是关注权限问题,通过ACL可以设置每个共享文件夹的用户,用户组以及其他用户的权限,根据每个共享文件夹的用途来设置。

如一个共享文件夹需匿名可访问,我们应该把其他用户的权限设置为读和执行,确保匿名用户可以正常进入文件夹读取文件。

在将根目录设置为共享文件夹以后,你可能遇到下面这个问题。

  • 所有子文件夹匿名访问时都被拒绝,无法访问

可能的原因:根目录的其他用户的权限为,没有执行权限,目录的执行权限代表相应用户能否进入这个文件夹。

可能的解决方法:在根目录的权限设置中,为其他用户开放执行的权限。

配置NFS服务

这个共享服务不是必须的,这个服务一般是Linux之间共享文件使用的,在这里讲的原因是后续Docker可以选择挂载CIFS卷和NFS卷,而NFS是需要手动配置的,因此在这里讲一下,一般挂载CIFS卷就可以了。

那么,既然我们能够选择CIFS卷,为什么还要专门多开一个服务用来给Docker挂载呢?

这个问题需要说明一下,在Docker中,挂载CIFS卷是需要设置账号密码的,并且是明文。而NFS不是基于账号认证的,只要在NFS服务端的配置中设置成127.0.0.1,那么这个共享是十分安全的。

当然,由于有root用户权限才能够操作Docker,因此在一般情况下,只要为Aria2下载服务单独创建一个用户,且仅下载目录有权限读写,那么这样设置一般也是十分安全的。

在NFS中,我们需要指定客户端和特权,并重新修改扩展选项,这些扩展选项的功能这里仅仅讲使用的这几个,更多请自行查阅相关文档。

image-20200712170252075

  • sync:同步模式,内存数据实时写入磁盘
  • all_squash:客户端上所有用户在使用NFS共享目录时都被压榨(映射)为一个普通用户
  • anonuid/anongid:配合all_squash使用,定义被限定用户的UID和GID

需要注意的是,NFS的共享路径与SMB/CIFS不同,为/export/共享文件夹

你可能会用到:

查询用户ID:

id 用户名

需要注意的设置

在修改系统->OMV-Extras->设置->常规设置的源时,你可能会遇到以下问题。

  • 报错,且无法正常更新和安装

可能的原因:报错原因暂不清楚,对于无法正常更新和安装。推测相关进程被占用。

可能的解决方法:尽量不去设置源,如报错后无法正常更新,重启能够解决。

在卸载一些插件,如Downloader 5.1时可能会遇到错误。

  • 报错,插件实际已经卸载,但是在服务菜单中还留有Downloader子菜单

可能的原因:插件的BUG或者OMV的兼容问题。

可能的解决方法:只能说安装了就别卸载了吧,免得心烦。

小结

其实这部分内容说难不难,如果只是想要作为一个网盘实现文件的共享的话,到这里就可以结束了。同时你应该学习一些Linux基本的权限管理,配置安全组等来提高NAS的安全性,也应该进一步了解OMV和相关功能的使用方法。在没有刚需的情况下,也需要避免直接将NAS暴露在公网下。

由于OMV5的插件支持不多,如果对插件有需求的小伙伴可以考虑安装OMV4。同时由于未知原因(网络或者BUG),也没有搜索到相关问题,因此如果十分追求稳定性也可以考虑安装OMV4。

在本节的实践中,我们可能会面对很多小问题,但大多数可能会遇到的问题我们已经讲过了,几乎都能很快解决,因此,如果想做的话,就放手去做吧!

接下来是通过Docker以及Aria2镜像实现的远程下载功能,我们会通过图形化和命令行两种方式来安装部署。那么,你更青睐哪种呢?

安装配置Docker

由于Docker的部署方便,轻量化,性能高等特点,在没有插件支持的情况下,我们能够很方便地部署一些扩展服务,进一步丰富完善NAS的功能。

Portainer是图形化的Docker的可视化管理工具,本身也是通过Docker镜像的方式安装运行的,因此部署起来十分方便,没有难点。唯一的难点就是我们对Docker有一定的基本了解才容易上手,但是Docker的学习成本极低,相信你都看到这儿了,对你来说一定没有什么问题吧?

过程概述

  1. 安装Docker
  2. 部署Portainer(命令行非必须)

安装Docker(图形化)

我们通过OMV后台系统->OMV-ExtrasDocker选项卡来进行安装管理Docker。

image-20200711172526872

部署Portainer(图形化)

通过在Docker按钮的右边这个按钮就可以进行Portainer的安装管理了。

安装完成后通过9000端口访问,第一次使用需要创建一个管理员账号。

image-20200711175213828

安装Docker(命令行)

sudo apt install docker-ce -y

我们这里安装的是社区版。注意,如果在没有安装OMV之前单独安装Docker,需要先手动添加镜像源等,具体请看官方文档

同时,在OMV后台也可以看到Docker被安装了。

image-20200711173646527

部署Portainer(命令行)

其实Portainer能做的,命令行都能够完成,如果大家想要用命令行完成下面所有的部署,其实可以不使用Portainer。但是我们把这个当作接下来部署Aria2之前的开胃小菜。

需要注意的是,使用Docker需要root权限,建议切换到root用户操作或在每句命令前加上sudo

# 拉取镜像,不指定版本号默认最新
docker pull portainer/portainer

# 创建卷
docker volume create portainer_data

# 创建容器并运行
# 官方提供的命令中有8000端口的映射,但是没有说是干什么用的,我们平时也用不到,干脆这里就不配置了
docker run -d -p 9000:9000 \
    --name Portainer \
    --restart=always \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v portainer_data:/data \
    portainer/portainer

小结

这一部分十分简单,需要讲的细节都在上面讲完了,没有什么难点,熟悉Docker和Portainer后,如果对Docker感兴趣,你可以更加深入系统地学习一下Docker,它的学习成本并不高,相当容易理解,并且这会让你接下来部署Aria2更加得心应手。

部署Aria2

Aria2可谓是新生代的下载神器,除了迅雷专属链接和ED2K,其他的基本协议,包括BitTorrent 都支持,速度可观,不吸血。

Aria2的部署不难,难就难在Docker创建并挂载CIFS或NFS的数据卷,这里的报错是十分多的,各种各样的都有,如果没有基础的小伙伴上来直接莽,可能还真会被难住。但是不要慌张,接下来的内容都将会是重点,特别是在各种报错上,帮助大家排查错误,成功部署。

过程概述

  1. 为Aria2服务单独建立用户
  2. 拉取镜像(非必须)
  3. 创建aria2_config数据卷
  4. 创建aria2_downloads的CIFS/NFS数据卷
  5. 挂载数据卷,映射端口,设置环境变量等
  6. 创建容器

拉取镜像(图形化)

我们在DockerHub上搜索Aria2的镜像,并在筛选条件上勾上ARMARM 64,在这么多的结果中,我们选择superng6/aria2这个镜像,进入页面后我们也能看到作者写的关于这个镜像的介绍

在网上搜索的教程大多是X86架构的,镜像并不通用,不能拿来直接使用。

我们通过Portainer后台拉取镜像。

image-20200714130610594

你可能会用到:

DockerHub:DockerHub

创建数据卷(图形化)

这一步是重中之重,如果配置出现差错,这一步可能需要重复多次。

首先创建config数据卷。只要起个名字就可以了。

image-20200714132633336

接下来是本文最难的点,主要是协议问题,权限问题和路径问题,我们可以在这里创建NFS的数据卷和CIFS的数据卷,这两种都是可以的,个人更推荐CIFS的方式,可以少开个服务,前提是为此单独创建了用户。

我们先讲NFS数据卷,创建NFS数据卷,前提是要先配置好NFS服务,我们在前面讲过。

我们在创建NFS数据卷的页面中,保持默认的选项,把其他所有需要填写的填写上。

image-20200714133058428

然后我们再讲CIFS数据卷。同样的,保持默认选项,把其他所有需要填的都填上,这里我们需要输入一个账号,如前面所说,为此专门建立一个用户单独设置权限比较妥当。

image-20200714133121561

注意,NFS数据卷的文件夹路径与CIFS数据卷的并不相同,在前面多出一个/export,望注意。

一般情况下,我们都会去这样设置,但是到了创建容器的时候总是频繁报错,而所有的报错的源头都是因为这个数据卷,无论是NFS数据卷也好,还是CIFS数据卷,都是差不多的错误。很难想到这其实是协议版本的问题。

NFS数据卷的协议版本应该为NFS,CIFS数据卷的协议版本应该是CIFS v1.0。如下。

image-20200714133924053

image-20200714134016253

到此,只要服务正常,文件夹路径没错,用户名密码没错,一般是没有其他问题了。

你可能会用到:

查看NFS共享目录:

showmount -e IP地址

创建容器(图形化)

第一步,填写名称,镜像,根据镜像作者提供的文档映射需要的端口。

在这里填写镜像,创建容器时会自动拉取,前面单独拉取镜像只是走个流程。

image-20200714135208310

紧接着,我们需要挂载之前创建的数据卷。

image-20200714135327511

我们还需要设置环境变量,使用命令行是需要在创建时就指定的,我们这里可以偷个懒,跳过这一步,等创建好镜像以后可以再回来修改,系统会为我们自动添加好所有环境变量。

这里我们需要修改的有SECRETFAPUIDPGID。具体每个环境变量的意义也可以参考作者提供的文档。

作者的建议是SECRET使用UUID,这里我们为了演示删除了一半。

FA必须修改,实测除了默认的falloc以外都可以。这里推荐trunc

PUIDPGID根据自己的情况修改。

image-20200714135707762

重启容器设置为除非手动停止。

image-20200714140342033

全部设置好,保证没有问题后,直接创建容器就可以了。此时,你可能会遇到一系列问题。

  • 找不到文件夹路径
  • 链接被拒绝
  • 其他各种有关数据卷的错误

可能的原因:数据卷的协议版本错误,数据卷中挂载的文件夹路径错误,相关服务没有开启,用户名密码错误。

可能的解决方法:仔细!仔细!仔细核对,勇于尝试!绝大多数都是数据卷的问题,对照上面的设置好好排查!只要有耐心就一定能成功!

同时你还可能还会遇到其他问题。

  • 容器创建后立刻自动停止

可能的原因:镜像的架构不同,无法运行。

可能的解决方法:在DockerHub中寻找镜像时,筛选符合CPU架构的镜像。

你可能会用到:

查询用户ID:

id 用户名

查看NFS共享目录:

showmount -e IP地址

拉取镜像(命令行)

同样,例行先拉取。

# 不指定版本号默认最新
docker pull superng6/aria2

你可能会用到:

DockerHub:DockerHub

创建数据卷(命令行)

由于在之前已经把相关问题全部讲过了,因此这里直接一步到位。

相关参数请根据需要替换。

# 创建config数据卷
docker volume create aria2_config

# 创建downloads数据卷(NFS)(二选一)
docker volume create -o type=nfs -o device=/export/Downloads -o o=addr=127.0.0.1,rw,noatime,rsize=8192,wsize=8192,tcp,timeo=14 aria2_downloads

# 创建downloads数据卷(CIFS)(二选一)
# 注意修改用户名密码
docker volume create -o type=cifs -o device=//127.0.0.1/Downloads -o o=username=AriaDownLoads,password=DownLoadsTest,vers=1.0 aria2_downloads

创建容器(命令行)

这里创建容器时把环境变量也带上。由于行数过多,建议复制出来修改后粘贴到终端。

需要修改PUIDPGIDSECRETFA,其他根据需要修改。

其中PUIDPGID`值需为0,否则无权限下载文件。

# 注意修改环境变量
docker run -d \
  --name=aria2 \
  -e PUID=1026 \
  -e PGID=100 \
  -e TZ=Asia/Shanghai \
  -e SECRET=yourtoken \
  -e CACHE=512M \
  -e UpdateTracker=true \
  -e FA=falloc \
  -e QUIET=true \
  -e RECYCLE=true \
  -e MOVE=true \
  -e SMD=false \
  -e ANIDIR=ani \
  -e MOVDIR=movies \
  -e TVDIR=tv \
  -e CUSDIR=cusdir \
  -p 6881:6881 \
  -p 6881:6881/udp \
  -p 6800:6800 \
  -v aria2_config:/config \
  -v aria2_downloads:/downloads \
  --restart unless-stopped \
  superng6/aria2

小结

这部分也算是一个综合应用了,把之前的OMV和现在的Docker和Aria2正式连接起来,有一定难度,但是既然我都把避坑方法都写在这里了,还有什么好怕的呢,只要动手能力够强,没有什么是完成不了的。刚开始我在创建容器的时候频频出错,没有思路,也搜索不到相关问题的文献,然后我就一口气把NFS,Samba以及Docker全都自学完了,回过头多测试几下就出来了。

因为Docker类似于虚拟机引擎,容器好比是一个子虚拟机,所以一般怎么折腾都不会坏,大胆尝试就行了。

在接下来,我们会使用AriaNG来管理Aria2。

AriaNG的部署与调试

只要我们能够把上面的Aria2搭建完,后面的就都没有什么难度了。

AriaNG是Aria2的图形化Web前端,有的Aria2镜像也同时集成了AriaNG,其实没有什么必要,一个容器运行一个服务就可以了,而且AriaNg相当于客户端,我们随便找一个在线Web页面就能够使用,因此搭建AriaNG服务不是必须的。

不过既然要挥洒笔墨,不如就贯彻到底了,我们顺便把AriaNG的部署也讲了,有需要的人可以尝试一下。

过程概述

  1. 部署AriaNG(非必须)
  2. 调试下载功能

AriaNG部署(图形化)

我们这里使用p3terx/ariang这个镜像,当然在DockerHub上找其他镜像也完全没问题。

我们根据作者的说明文档映射端口后直接创建就可以了。创建后通过6880端口访问。

image-20200714152919095

你可能会用到:

DockerHub:DockerHub

AriaNG部署(命令行)

# 创建镜像时会自动拉取镜像,不指定版本号默认最新
docker run -d \
  --name AriaNG \
  --restart unless-stopped \
  -p 6880:6880 \
  p3terx/ariang

你可能会用到:

DockerHub:DockerHub

调试下载功能

我们访问任何一个AriaNG的页面都可以远程管理我们的Aria2。在这里我们需要设置一下AriaNG来连接我们树莓派上的Aria2服务。

填上我们树莓派在局域网中的地址和密钥后刷新页面即可生效。密钥就是我们Aria2服务SECRET环境变量的值。

image-20200714154558565

本着人人为我我为人人的精神,我们应该到Aria2设置->BitTorrent设置中设置一个最小做种时间的值以便于我们在BT下载完成之后做一段时间的种。同时我们还可以设置最小分享率最大上传速度等增加上传速度和上传量,这里只是做一个示范,但是作为一个合格的种子选手,我们也可以适当增加分享率和做种时间。

image-20200714155650714

到此,你可以找一些资源来试着下载一下了。在这一步,你可能会遇到一些问题。

  • 下载时文件卡在0%不动
  • 下载错误,提示文件系统错误等字样

可能的原因:这里一般是文件分配方法的问题,或者资源无效,又或者是6881的TCP/UDP端口未开放。

可能的解决方法:我们可以去Aria2配置文件中修改(不建议),也可以修改容器的环境变量FA。一般如果前面设置了就没有问题。也可以换一个确定有效的资源再下载尝试,记得检查是否放行了6881的TCP/UDP端口。

或者连接问题。

  • Aria2状态一直是连接中

可能的原因:IP地址错误或密钥错误。

可能的解决方法:检查IP地址是树莓派的内网地址,检查密钥与环境变量或配置文件中的密钥相同。

你还可能遇到上传上的问题。

  • 做种时上传没有速度或很慢

可能的原因:其他客户端获取不到我们树莓派的IP地址,或运营商封禁6881端口。

可能的解决方法:在路由器中映射BT的6881-TCP/UDP(ALL)端口(待验证)。如果是运营商屏蔽,可以尝试去配置文件中修改端口(注意容器映射端口)。

又或者是下载问题。

  • 下载速度在3M左右上不去

可能的原因:树莓派3B的话实测4.5M/S的速度差不多是极限速度了,在下载时BT上传没速度也有这的功劳,树莓派3B的Wifi模块实在是不给力啊!同时WiiFI的信道干扰对下载速度也有一定影响。

可能的解决方法:憋着!要么换个4B,不光能当下载机,还能部署个Minecraft-Server服务(DockerHub有相关镜像)。

你还会遇到一个小问题。

  • 在AriaNG中设置的配置被重置了

可能的原因:Aria2容器的/config文件夹映射到了容器卷中,容器重启时可能会导致容器中的文件丢失。

可能的解决方法:把/config文件夹直接映射到主机目录中。

你可能会用到:

在线AriaNG地址:sleele.gitee.io/ariang.mayswind.net

小结

AriaNG很好上手,设置也十分简单,跟着一步步下来没有什么难点。

对于是否使用其他人搭建的AriaNG服务的话,如果你的树莓派只是在内网使用的话,可以使用别人部署好的服务,如果是在公网上的话,使用自己搭建的会比其他人搭建的稍微安全一些,或者考虑用更加安全的RPC协议来管理吧。

我认为在BT下载方面,树莓派既然是24小时开机的,WiFi不管多少流量都是一个价,那对于做种就没有必要太吝啬,防止下一个吸血雷的诞生,从我做起。

结语

写教程类的太累了,前前后后8000多字写了一个多星期,写了好几版草稿。最开始我时打算写面向新手的教程的,详细到OMV,Portainer的使用方法,但是最后我并没有写,主要就是如果每一个点都要一点点解释是在太慢太长了,同时也没有所谓的重点了,何不让大家自己去学习呢,我相信能看到这儿的你一定不简单吧?

全网可能都没有类似的教程了,本文在排错上也花费了不少的笔墨,虽然开头写着是你们可能会遇到的问题,但文章当中写到的每一个问题一定都是我遇到过的,并且通过搜索引擎搜索,或者直接去学习相关的知识,才最终得以解决。一块小小的树莓派并不值钱,但是在玩树莓派的过程中同样学到了不少的知识,也许没有这个树莓派,我一辈子都不会点开B站收藏夹中吃灰的学习视频吧?