Matrix 首页推荐

Matrix 是少数派的写作社区,我们主张分享真实的产品体验,有实用价值的经验与思考。我们会不定期挑选 Matrix 最优质的文章,展示来自用户的最真实的体验和观点。

文章代表作者个人观点,少数派仅对标题和排版略作修改。


家里有个 Raspberry Pi 4B 只装了 HomeBridge 来接入家电,感觉有点浪费,正好又有简单的家庭影音库需求,所以就有了这篇文章。

Raspberry Pi 4B 这代搭配千兆网口和 USB 3.0 ,终于换掉了一直令人诟病的 USB 2.0 ,至此速度理论上可以跑满千兆带宽,基本上能满足我的日常需求。

需要设备材料:

  • Raspberry Pi 4B 搭载 Raspberry Pi OS(其它 OS 的也可以)
  • TF 卡(做系统盘)
  • 千兆路由器
  • CAT6 网线
  • 一个硬盘

第一步:硬盘挂载

手动挂载硬盘

毕竟 TF 卡做系统盘也存不了多少数据,所以第一件事就是把准备好的硬盘挂载上,我用的是旧电脑拆下来西数机械硬盘,买了个硬盘盒让它发挥余热。

首先插上硬盘通过sudo fdisk -l查看以下硬盘状态:

sudo fdisk -l

这个就是我们插上的硬盘,此时我们可以挂载到指定目录下:

sudo mount 设备名称  自定义的指定目录

举例: sudo mount /dev/sda1  /media/pi/O

记得先创建一下 storage 文件夹:sudo mkdir /media/pi/O

再次查看硬盘状态df -h,此时 /dev/sda1 已经挂载上去了。

df -h

以上就是手动挂载的方式,但是迫于断电重启的问题,每次挂载有点麻烦,所以设置启动时自动挂载硬盘是个不错的办法。

自动挂载硬盘

在系统开机时会主动读取 /etc/fstab 这个文件中的内容,根据文件里面的配置挂载磁盘。
所以我们只需在 /etc/fstab 加入我们硬盘信息即可。

首先编辑文件:sudo vi /etc/fstab

加入:UUID 指定目录 硬盘文件系统格式 defaults,nofail 0 0

当你不知道硬盘文件系统格式时,可以通过sudo blkid查看硬盘的 UUID 和 TYPE:

S4ovtXGLNCs87Mx
sudo blkid

举例: UUID="34D58C3DFA562624" /media/pi/O ntfs defaults,nofail 0 0

第二步:SMB 文件共享

安装

首先安装一下 Samba 服务:

sudo apt-get update

sudo apt-get install samba

配置

Samba配置文件通常在/etc/samba/路径下,编辑 Samba 配置文件:

sudo vi /etc/samba/smb.conf

在配置文件底部添加如下配置:

[NAS]
comment = NAS
browseable = yes
path = /media/pi/O
valid users = pi
browseable = yes
public = yes
read only = no
writeable = yes
create mask = 0777
directory mask = 0777

配置参数详解:

  • [NAS] 表示这是一组共享设置。在 Samba 中通过中括号 [xxx] 的形式来标识区分。
  • comment = "xxxx" 表示对该共享的描述信息。
  • path = "xxxx" 表示对该共享路径。默认情况下不设置 path 的话,就是当前账户的Home目录。
  • valid users = pi 表示允许访问该共享的用户,如果是多个用户可以通过逗号 , 来分隔;也可以通过 @+组名 的方式来设置可访问的群组。
  • browseable = yes/no 表示该共享是否可以浏览。
  • public = yes/no 表示该共享是否允许 guest 账户访问。
  • read only = yes/no 表示是否可读写。
  • writable = yes/no 表示是否可写。
  • create mask = 0777 表示客户端上传文件的默认权限
  • directory mask = 0777 表示客户端创建目录的默认权限

设置账户

配置完毕后执行sudo smbpasswd -a pi (这里的 pi 是我设置的用户名,可以自行设置)来设置用户名密码,设置完毕后重启 Samba 服务sudo systemctl restart smbd

注:关于Samba账户,Samba 需要 Linux 账户才能使用,可以使用 已有账户 或 创建新用户。虽然用户名可以和 Linux 系统共享,但 Samba 使用的是单独的密码管理。

macOS 访问

只需要打开 Finder ,选择「菜单栏–前往–连接服务器(或者直接 Command + K)」,在弹出的窗口中输入smb://树莓派的IP地址 后选择「连接–输入设置」的账户和密码后就能访问了。

1WwiET5QnfpoFYV

安装 qBittorrent 下载器

通过 Docker 安装

安装 Docker

下载一键安装脚本 curl -fsSL get.docker.com -o get-docker.sh

执行安装:

sudo sh get-docker.sh

把当前用户添加到 Docker组,就不用每次执行 Docker 时 sudo 了:

sudo usermod -aG docker pi

拉取镜像和安装

docker pull linuxserver/qbittorrent:arm32v7-latest

其中arm32v7-latest这个 tag 仅适用于树莓派这种 ARM 架构的,启动容器:

docker run -d \
--name=qbittorrent \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Asia/Shanghai \
-e WEBUI_PORT=8181 \
-p 6881:6881 \
-p 6881:6881/udp \
-p 8181:8181 \
-v /config
-v /media/pi/0/qBittorrent/config:/config \
-v /media/pi/0/qBittorrent/downloads:/downloads \
--restart unless-stopped \
linuxserver/qbittorrent:arm32v7-latest

最后在浏览器输入`树莓派的 IP 地址:8181`,输入默认用户名和密码就可以登录了。

  • 用户名:admin
  • 密码:adminadmin

在上面的命令中,我们自己常设置的,也就下面几处:

  • 设置 WEBUI 端口号,可以按需设置:
-e WEBUI_PORT=8181
-p 8181:8181 
  • 设置 qBittorrent 的下载路径和配置路径,也可按需设置:
-v /media/pi/0/qBittorrent/config
-v /media/pi/0/qBittorrent/downloads
  • 设置 qBittorrent 的下载路径和配置路径,也可按需设置:

这里推荐下 waylybaye 开发的 ServerCat 这个软件,可以很方便地查看服务器状态、部署 Docker 等:

自行编译

当 Docker 安装无法满足你时,你可以考虑自行编译,qBittorrent 的 Wiki 有 详细编译步骤 可以进行参考,这里不再赘述了。

安装 qBittorrent 主题

qBittorrent 的 Wiki 中有列出一些 非官方 WebUI,这里推荐两个我用过的:

结语

得益于 Raspberry Pi 4 新增的 USB 3.0 接口使其获得了更多玩法,已经可以满足轻度的局域网文件存储,实现局域网文件多端访问。而且,macOS Big Sur 现已支持直接通过 SMB 使用时间机器进行无线备份1,或是搭配 Infuse、Nplayer、Plex 等软件,制作低配版本的家庭影音库。

> 下载 少数派 2.0 客户端、关注 少数派公众号,解锁全新阅读体验 📰

> 实用、好用的 正版软件,少数派为你呈现 🚀