从零开始在树莓派上搭建NAS
兴冲冲买了树莓派,却没多久就变成吃灰派?不妨试试在树莓派上搭建NAS~
树莓派
如果你已经有吃灰派,那就直接跳过这部分。
树莓派4跟上一代产品(树莓派3b+)相比,还是有大幅提升的,下面就简单做一个对比。
Spec | Raspberry Pi 3 B+ | Raspberry Pi 4 |
---|---|---|
CPU | ARM Cortex-A53 1.4GHz | ARM Cortex-A72 1.5GHz |
RAM | 1GB | 2GB |
Ethernet | 300Mbps | 1000Mbps (Gigabit) |
USB | USB 2.0 | USB 3.0 |
HDMI | 1080p | 4k |
其实这里最关键的还是USB3.0和HDMI 4k输出。
当然我自己用的就是树莓派3b+,作为NAS也没啥问题。如果你能找到特别便宜的树莓派3b+,那也是可以入手的。
操作系统
这里会简要描述下树莓派操作系统的安装,已经装好的可以直接跳过。
Raspberry Pi OS / Raspbian,指的都是同一个东西,是树莓派官方支持的操作系统,本质上是基于Debian的魔改版,目前最新版本基于Debian 10 (Buster)。
以前的教程大概都是用NOOBS来安装,现在树莓派官方提供了Raspberry Pi Imager,相当方便。
Raspberry Pi OS一共有三种类型:
- With desktop and recommended software(带桌面环境和乱七八糟的软件)
- With desktop(带桌面环境)
- Lite(仅命令行)
个人建议直接选择默认推荐的镜像,也就是带桌面环境的,这样方便新手操作。老手的话可以直接用Lite版本,反正命令行可以搞定一切。
访问桌面环境
桌面环境可以通过这些方式访问:
- 直接用树莓派的HDMI接口
- 电脑安装VNCViewer
- 树莓派安装xrdp
访问命令行(ssh)
Linux和Win10都原生支持ssh,直接在终端输入对应命令即可。
当然如果跟我一样是懒人,可以连带密码一起提交上去,从而做到一键登录。
1 | // Linux |
Source:
- How to automate SSH login with password?
- running .bat in powershell script without opening any windows
资源获取方式
不同的资源,对应着不同的工具。
http下载可以用aria2
种子下载可以用transmission或者deluge。
以上这些都是Linux上比较好用的开源下载软件。当然,这些软件也都有官方或者第三方的Web UI,这样就能实现远程操作。
关于种子下载,如果是PT的话,需要在对应软件中关闭DHT,防止泄露passkey。但是如果是公网BT,那又要打开DHT来获取尽可能多的peers。鱼和熊掌不可兼得,如果都想要的话,建议直接安装两个不同的软件。
Transmission
安装
输入以下命令安装transmission-daemon
1 | sudo apt update |
配置
Transmission在安装完之后是自动运行的,要修改配置必须先停止对应的service
1 | sudo systemctl stop transmission-daemon |
然后打开配置文件修改
1 | sudo nano /etc/transmission-daemon/settings.json |
其实也没啥要改的,没特殊需求的话,大部分选项都完全不用动。
一般只需要修改下面几个:
- download-dir: 下载完成的保存路径,默认/var/lib/transmission-daemon/downloads,如果在树莓派上外挂硬盘可以改成/media/pi/HARD_DRIVE_NAME
- rpc-username: rpc连接用户名,用于登录Web UI,默认值为transmission,可以随意改
- rpc-password: rpc连接密码,用于登录Web UI,默认值为transmission,建议修改
- rpc-whitelist: rpc连接白名单,需要
rpc-whitelist-enabled
为true
才生效。默认值是127.0.0.1
,只能本地连接。如果要局域网内连接可以改成192.168.*.*
。
接下来用下面命令启动transmission。
1 | sudo systemctl start transmission-daemon |
然后访问ip_address:9091
,输入刚才设置的rpc-username
和rpc-password
就可以看到Web UI了。
替换Web UI
由于自带的Web UI比较简陋,所以可以考虑替换成开源的transmission-web-control。
执行下面的命令,就装完了,还是很方便的~
1 | wget https://github.com/ronggang/transmission-web-control/raw/master/release/install-tr-control-cn.sh |
注:这个脚本切记要用bash执行,如果用sh执行会出错,因为sh不支持部分指令。
Deluge
安装
输入以下命令安装Deluge
1 | sudo apt update |
配置
Deluge需要手动配置服务来实现开机启动,这里推荐使用nano作为文本编辑器,简单好用。
首先配置deluged.service
1 | sudo nano /etc/systemd/system/deluged.service |
把下面这些贴进去(ssh的话直接点击右键即可)
1 | [Unit] |
注意这里涉及到UMask,也就是文件权限配置。777 - UMask = 文件权限。比如这里UMask是002,那么默认文件权限就是775(rwxrwxr-x)。各位可以根据实际情况自行决定UMask。
然后配置deluge-web.service
1 | sudo nano /etc/systemd/system/deluge-web.service |
把下面这些贴进去
1 | [Unit] |
然后运行下面指令启动deluge
1 | sudo systemctl enable deluged.service |
没报错的话应该就成功了,不放心可以用systemctl status看看。
当然,别忘了开启远程连接
1 | deluge-console "config -s allow_remote True" |
最后,访问ip_address:8112
,输入默认密码deluge
,然后从列表选择本地正在运行的deluge服务,就进去了。默认密码可以稍后在Web UI的preference里修改。
queued状态
如果用的默认配置,那么下载完一定数量的种子之后,不会自动开始做种,而是进入“queued”状态。下完就跑,这样很不好,所以需要配置一下。
在 Preferences > Queue 修改 Total Active(总活跃种子数)和 Total Active Seeding(总活跃做种数)即可。Deluge的种子都是自动管理的,不需要手动一个个去干预。
aria2
我没装aria2,而且现在挂机http下载的场景估计比较少,所以就简单说几句。
注:虽然aria2也可以用来下种子,但是不推荐。
输入以下命令安装aria2
1 | sudo apt update |
配置文件在网上抄一份就可以了,然后跟Deluge一样作为服务开机启动。
Web UI可以用AriaNg
Samba
服务端
输入以下命令安装samba
1 | sudo apt update |
然后用下面命令修改配置
1 | sudo nano /etc/samba/smb.conf |
在配置文件底部追加下面内容,注意路径请自行替换。而且这里权限是直接开到最大的,最好根据实际情况修改。
1 | [MyNAS] |
最后重启一下,然后sudo smbstatus看看,有结果应该就成功了。
客户端
Windows的话,在文件管理器里头找到映射网络驱动器(Map Network Drive),输入下面内容就行了。
1 | \\ip_address\shared_folder |
Linux的话,用命令行挂载网络驱动器好像有点麻烦,建议直接在文件管理器里头操作。
小结
到这里应该就搞定了,吃灰派也开始重新发光发热~