树莓派下载机的安装配置

0 缘起

前段时间买了个电视盒子,重新搞了个PT账号,加上此前留下的,感觉又有保种的热情了,但是PC上的硬盘虽然有10T,但一直开机保种的话电费和寿命都不太划算,于是盯上了手里的旧货,都是十年前买的树莓派1代和西数的1T移动硬盘。电视盒子挂PT的那个软件(某个早期版本的盒子助手)我没搞懂安装,所以只好用老版树莓派了。

树莓派是十年前的1代B型,SoC是BCM2835,单核心,512M内存,2个USB2.0接口,100M网口。性能很差,网口和USB走同一个IO芯片,导致这颗芯片很容易过热,所以CPU和IO芯片都贴了辅助散热。没有Wifi和蓝牙。移动硬盘是以前淘汰的,摔过,存在大量坏道,屏蔽掉之后剩下800GB多一点,读写速度明显下降,作为废品拿到这里发挥一下余热,由于树莓派极差的IO能力,这盘子读写慢的劣势反而不会显现。

核心任务是安装transmission和samba

1 系统安装与准备

树莓派比较好的一点就是漫长的软件支持周期,直到今天依然为最早的256MB内存版本提供系统更新,所以直接下载就行,我选择的是2022-01-28-raspios-buster-armhf-lite,基于Debian10的最小镜像版本。没选Debian11主要是因为后面用的很多命令脚本都是Debian10时代测试的,新系统可能踩坑,另外我确实没用过11,懒了。不需要桌面环境和官方附赠的必备软件,所以直接用最小镜像就够了,后续测试时发现这个最小镜像自带的东西其实也不少了。

下好之后用Win32DiskImager烧录SD卡,用的TF卡也是十年前插在诺基亚手机里的8G卡,其实就任务而言,4G就够用了,不过我确实没有了,剩下都更大,只好用这个。烧录完成后在TF卡对应的文件夹新建无扩展名的SSH空白文件,开启SSH登录即可拔下插进树莓派。

再把移动硬盘插进电脑,用DiskGenius之类的工具把可用区域格式化为ext4,虽然树莓派系统自带ntfs-3g可以读写ntfs格式磁盘,但根据实测会消耗额外的系统资源,在资源捉襟见肘的1代上还是老老实实用ext4吧。

树莓派带着移动硬盘开机即可,为了保证两个设备的供电,这个树莓派需要用5V2A的电源,调试阶段为了避免来回跑,我用无线路由器桥接出一根网线插在树莓派上连的网,最后使用时依然把整套东西放在主路由的位置,这种测试方法并不科学,桥接路由器坑了我一把,主路由一开始没显示出树莓派的IP。以后测试最好老老实实插在主路由吧。

上电后从路由器后台查出树莓派的IP,用putty登录。最好顺便在路由器后台将这个IP与树莓派的mac地址绑定,以免未来路由器抽风换了设备的IP。由于root用户尚未启用,现在需要用pi用户登录,默认密码raspberry。登录后启用root,设定密码,并开启root的SSH登入权限。

sudo passwd root     #执行后会要求输入两次设置root的新密码
sudo passwd --unlock root  #解锁root账户
su root    #输入密码后切换到root账号
sudo sed -i "s/^#PermitRootLogin.*/PermitRootLogin yes/g" /etc/ssh/sshd_config  #开启root账户的SSH权限
sudo systemctl restart ssh   #重启SSH服务,以后就可以用root账户直接SSH登入了。

后面所有命令默认都在root权限下运行。

2 软件配置

接着修改软件源,其实现在新版本自动配置的源速度已经很快了,瓶颈在设备本身的IO,但考虑到更高性能产品的需要,姑且换一下。我的putty搭配这个树莓派系统时,vim有些奇怪的问题,所以编辑文件时尽量用nano。这里也没使用nano的什么高级功能,记住修改后Ctrl+O回车保存,Ctrl+X退出就可以了。

sudo nano /etc/apt/sources.list 进入源配置文件,将已有的行用#注释掉,添加

deb http://mirrors.aliyun.com/raspbian/raspbian/ buster main contrib non-free rpi
deb-src http://mirrors.aliyun.com/raspbian/raspbian/ buster main contrib non-free rpi

sudo nano /etc/apt/sources.list.d/raspi.list 进入树莓派系统源配置文件,将已有的行用#注释掉,添加

deb http://mirrors.aliyun.com/raspbian/raspbian/ buster main
deb-src http://mirrors.aliyun.com/raspbian/raspbian/ buster main

也可以用清华源 http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/

完成后update一下就可以了

sudo apt-get update
sudo apt-get upgrade -y

树莓派官方系统自带有一个raspi-config工具,可以很方便的进行一些基本的配置,这里根据个人需要配置一部分,读者如有需要可以探索其它选项。配置界面与早年计算机主板BIOS以及部分简易图形化DOS很像,用光标可以移动,回车确认。

sudo raspi-config

(不同版本选项可能有所区别,注意项目名一样即可)

首先在Advanced Options选项卡选择Expand Filesystem,确认后会自动扩展文件系统。树莓派镜像烧录时并不会使用SD卡所有空间,这个命令将会自动把根目录扩展到整个分区,是树莓派系统安装后最好尽快执行的命令。

随后在Performance Options选项卡里选择GPU Memory,设置显存大小。我们的这个设备不会执行任何显示任务,所以改成16MB就行。这个选项卡还有个Overclock项目,能设置超频,进入后可以选择多组设定好的超频组合。由于我的设备放在沙发后面,工作环境恶劣,只有两个散热片,没有风扇,就不超频了,长期运行的设备稳定性更重要,如果有主动风扇的话可以尝试一下,寻找稳定的超频组合。某些版本的系统显存设置可能在Advanced Options的Memory Split选项里。

至此基础的软件配置完成,如果用树莓派做其它任务时,也可以参考以上过程。下面开始做下载机的专门配置。

3 挂载移动硬盘

前面准备时已经在Windows下将移动硬盘格式化完成了,配置树莓派时移动硬盘也一直插在上面,这是为了避免设备运行时插入移动硬盘导致掉电重启。现在把硬盘挂载到系统目录。

首先用fdisk -l命令查看磁盘情况,如果是只插一张SD卡做系统盘,加一块移动硬盘的话,输出结果的最后应该是类似于这样的:

Disk /dev/mmcblk0: 7.4 GiB, 7948206080 bytes, 15523840 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x8b5d6215
​
Device         Boot  Start      End  Sectors  Size Id Type
/dev/mmcblk0p1        8192   532479   524288  256M  c W95 FAT32 (LBA)
/dev/mmcblk0p2      532480 15523839 14991360  7.2G 83 Linux
​
Disk /dev/sda: 931.5 GiB, 1000202043392 bytes, 1953519616 sectors
Disk model: E*********
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xc*****
​
Device     Boot     Start        End    Sectors  Size Id Type
/dev/sda1            2048  206571519  206569472 98.5G 17 Hidden HPFS/NTFS
/dev/sda2       206571520 1953515519 1746944000  833G 83 Linux

可以看出sda就是移动硬盘,sda1是我为了屏蔽坏道设置的隐藏分区,容量为833G的sda2就是我们接下来使用的分区了。

然后使用blkid 命令查看磁盘的UUID

root@raspberrypi:~# blkid
/dev/mmcblk0p1: LABEL_FATBOOT="boot" LABEL="boot" UUID="6D23-97B4" TYPE="vfat" PARTUUID="8b5d6215-01"
/dev/mmcblk0p2: LABEL="rootfs" UUID="f57bbcb6-af06-4d9a-b958-d214da78c4e9" TYPE="ext4" PARTUUID="8b5d6215-02"
/dev/sda1: UUID="0000678400004823" TYPE="ntfs" PARTUUID="cad4eb0a-01"
/dev/sda2: LABEL="lo" UUID="4d563918-16cd-d546-ac69-825056489c88" TYPE="ext4" PARTUUID="cad4eb0a-02"
/dev/mmcblk0: PTUUID="8b5d6215" PTTYPE="dos"

记录下/dev/sda2后面的字符串,后面会用到。

创建下载用的文件夹

mkdir /home/pi/wd

赋权

chmod -R 0777 /home/pi/wd

现在开始配置开机启动挂载硬盘 使用命令sudo nano /etc/fstab编辑/etc/fstab文件,在里面插入一行,格式类似于这样 PARTUUID=cad4eb0a-02 /home/pi/wd ext4 defaults 0 0 第一项就是前面blkid命令查看到的分区PARTUUID,第二项就是前面创建的挂载用文件夹,之后程序访问这个地址就是在访问移动硬盘对应分区了。修改完成后效果如下:

root@raspberrypi:~# nano /etc/fstab
  GNU nano 3.2                                                                                                     /etc/fstab
​
proc            /proc           proc    defaults          0       0
PARTUUID=8b5d6215-01  /boot           vfat    defaults          0       2
PARTUUID=8b5d6215-02  /               ext4    defaults,noatime  0       1
PARTUUID=cad4eb0a-02  /home/pi/wd  ext4    defaults    0 0
# a swapfile is not a swap partition, no line here
#   use  dphys-swapfile swap[on|off]  for that

确认无误后保存退出,输入reboot命令重启树莓派,重新登入后使用df -h命令查看磁盘挂载情况:

root@raspberrypi:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root       7.1G  1.5G  5.3G  22% /
devtmpfs        207M     0  207M   0% /dev
tmpfs           239M     0  239M   0% /dev/shm
tmpfs           239M  7.5M  232M   4% /run
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           239M     0  239M   0% /sys/fs/cgroup
/dev/mmcblk0p1  253M   49M  204M  20% /boot
/dev/sda2       820G  241G  539G  31% /home/pi/wd
tmpfs            48M     0   48M   0% /run/user/0

倒数第二行的含义就是移动硬盘分区/dev/sda2挂载到/home/pi/wd地址成功。这个地方我经历了很多次反复,/etc/fstab那里一开始参考网络资料用的UUID="4d563918-16cd-d546-ac69-825056489c88"作为标识,后来更换SD卡重装系统后不知为何无法挂载,另外就是/home/pi/wd目录不要用WinSCP创建,如果挂载无法成功可以尝试chmod对这个地址再次赋权。

4 安装Transmission与Samba

这里主要参考的这篇文章 树莓派系列(第三篇):树莓派换源 、连接WiFi、安装transmission、samba - Nicholas-- - 博客园 (cnblogs.com)

先安装transmission

sudo apt-get install transmission-daemon #之后按Y确认即可安装
service transmission-daemon stop #先停止服务,否则即使保存了配置文件也会被运行中的程序还原
sudo nano /var/lib/transmission-daemon/.config/transmission-daemon/settings.json #会进入配置文件,除了这里提到的项目外其它都不用改
#已完成的目录,自己设置目录
"download-dir": "/home/pi/wd/Download",
#未完成的目录,自己设置目录
"incomplete-dir": "/home/pi/wd/Download",
​
“rpc-username”: “pi”, 用户名
“rpc-password”: “123456”, 密码
"rpc-port": 9091, 管理界面登入端口,如果是家庭内网使用的话可以不改
​
#允许Web访问的白名单地址,直接使用白名单,只有局域网能访问transmission-web
"rpc-whitelist": "127.0.0.1,192.168.1.*",
​
#下面的3项关闭是PT下载的要求,其实DHT和PEX在PT种里本来就会被关闭,LPD(本地用户发现)意义不大,可以关闭。如果只用来下PT,可以全部关闭,如果下BT的话还是需要DHT与PEX的,反正就我所知很多人的刷流盒子里装TR全默认配置刷PT也没什么事。
"dht-enabled": false,
"pex-enabled": false,
"lpd-enabled": false,
​
#缓存大小,以MB为单位,建议设大一些,避免频繁读写硬盘而伤硬盘,建议设为内存大小的1/6~1/4
"cache-size-mb": 50

保存退出后用sudo service transmission-daemon restart命令重启transmission,打开电脑浏览器输入树莓派IP:9091顺利打开管理界面就成功了,接着找个大于100M的热门种子下载一下试试是否正常运行即可。如果写入有权限问题,可以尝试chmod 0777 -R /home/pi/wd/Download 命令解决。

transmission原版web界面简陋而且功能匮乏,如果经常用web管理,装个美化包

wget https://github.com/ronggang/transmission-web-control/raw/master/release/install-tr-control-cn.sh
bash install-tr-control-cn.sh

接着重新访问管理界面并Ctrl+F5即可使用美化界面,也可以在电脑安装transmission-remote-gui(Windows/Linux/MacOS均有),或者在手机上安装transmission remote之类的应用来管理。

最后安装Samba。

sudo apt-get install samba samba-common-bin #确认后安装
nano /etc/samba/smb.conf #编辑配置文件

找到[global], 把workgroup=MSHOME改为 workgroup=WORKGROUP(注意,这里的WORKGROUP是共享中的工作组名称)并增加以下代码 (如果已经改为WORKGROUP,则只需要以下代码)

display charset = UTF-8
unix charset = UTF-8
dos charset = cp936 #这三行是为了防止中文乱码

接着拉到文件最后,添加以下内容

[MyNAS]
    
    comment = NAS Storage  # 说明信息
    valid users = pi,root  # 可以访问的用户
    path = /home/pi/wd/download # 共享文件的路径,raspberry pi 会自动将连接到其上的外接存储设备挂载到/media/pi/目录下。
    browseable = yes  # 可被其他人看到资源名称(非内容)
    writable = yes  # 可写
    create mask = 0777  # 新建文件的权限为 777
    directory mask = 0777  # 新建目录的权限为 777
    public = yes
    read only = no

保存退出,由于Samba的“用户”与系统用户不使用同一套配置文件,需要单独授权,所以需要输入

sudo smbpasswd -a root命令添加用户,设置访问密码,全部配置完毕后使用sudo service smbd restart命令重启Samba服务。

现在,就可以用支持Samba的各类服务连入测试效果了,在Windows上可以直接在资源管理器里输入\\IP来访问文件了。如果在从下载机上复制文件到本机时出现“ 这些文件可能对你的计算机有害 你的Internet安全设置表示一个或多个文件可能有害 ?”的提示,可以在控制面板——网络和internet——Internet选项——安全——本地Intranet——站点——高级,在下面的网站框里添加file://下载机的IP,保存关闭即可。安卓设备可以用版本号比较新的MXPlayer或者RE文件管理器等的本地网络添加功能,输入IP用户名和密码登录。

等到所有项目测试完毕,可以把树莓派上的LED灯关了,毕竟长期运行,能省点电算一点,用命令nano /etc/rc.local编辑配置文件,在exit 0前面插入以下四行——

root@raspberrypi:~# nano /etc/rc.local
  GNU nano 3.2                                        /etc/rc.local                                        Modified
​
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
fi
​
echo 0 | sudo tee  /sys/class/leds/led0/brightness
echo none | sudo tee  /sys/class/leds/led0/trigger
echo none | sudo tee  /sys/class/leds/led1/trigger
echo 0 | sudo tee /sys/class/leds/led1/brightness    #关闭四颗指示灯
​
exit 0

并非所有树莓派都是这样关闭LED的,使用时注意区分。重启即可关闭LED。

5 尾声

在工作环境附近测试全部完毕后,把电源切断,用密封塑料袋把移动硬盘包起来,然后放在基础稳固的地面之类的地方,树莓派由于发热不小,不能密封,只能放在灰少一点的地方。树莓派一代B版最大功耗应该是3w,1T的2.5寸移动硬盘功耗应该不超过3w,考虑瞬时功耗的情况,手机上淘汰的5V2A充电头应该足够了。这样低成本的挂机配置,得到的功能还是勉强足够的。实测下载机到PC/手机的传输速度是5MB/s左右,合码率40000Kbps,对于绝大多数1080P重编码影片,音视频总码率20000Kbps是可以做到基本流畅播放与拖动播放条的,但是对于码率动辄40000Kbps的蓝光原盘和部分4K资源,现在这个IO能力是不可能流畅使用的,好在我的电视虽然是4K的,但效果实在说不上好,观看高码资源的需求不大,以后升级设备就必须更换更好的了。以上测试都是在没有下载任务时进行的,下载时必然会挤占本就堪忧的IO能力,需要注意把下载任务安排在后半夜。上传倒是影响不大,我家宽带上传很菜,跑满了也就12Mbps。

这台下载机装好很多天了,还没出现什么BUG,赶上封城,给它添加备用硬盘的计划也搁置了。换到几年前,大概还会折腾个动漫种子订阅自动下载服务,现在看的番少,手动加也没啥问题,先放着吧。好了,这就是我的折腾过程分享,其实主要是为了给自己留个笔记,免得以后系统崩了自己不会重新配置。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值