家庭服务器 篇十四:把红米2打造成一台ARM小服务器
更新一下红米2作为ARM服务器的一些新玩法,还是那台神机红米2,还是那个很棒的PostmarketOS系统。这里不教刷机,只说玩法。刷机教程参考我之前的文章。
1.apk换源
PostmarketOS基于Alpine Linux,所以使用apk作为包管理。虽然我个人觉得官方源速度也还行,不过国内镜像的速度更稳定。三个国内镜像站:
清华TUNA镜像源:https://mirror.tuna.tsinghua.edu.cn/alpine/
中科大镜像源:http://mirrors.ustc.edu.cn/alpine/
阿里云镜像源:http://mirrors.aliyun.com/alpine/
换源前首先看一下PostmarketOS的Alpine Linux版本,目前的PostmarkOS的内核版本应该是3.15:
#查看系统版本
cat /etc/alpine-release
#编辑源配置文件
sudo vim /etc/apk/repositories
#增加源地址
http://mirrors.ustc.edu.cn/alpine/v3.15/main
http://mirrors.ustc.edu.cn/alpine/v3.15/community
替换源地址后,更新一下:
sudo apk update && upgrade
2.修改ash为bash
PostmarkOS默认的sh为ash,ash我不太熟所以我改为bash顺手一点(主要是为了配置bashrc)。PostmarkOS默认已经安装了bash,如果没有的话先安装一下:
#安装bash
sudo apk add bash
#修改默认配置
sudo vim /etc/passwd
以root账户为例修改其默认sh
root:x:0:0:root:/root:/bin/ash
#把上面这行改为下面的
root:x:0:0:root:/root:/bin/bash
新建一个.bashrc文件用于配置别名,后面会介绍.bashrc的用法
sudo vim .bashrc
3.开启SAMBA
虽然红米2内存小,但支持OTG,所以做个NAS也不是不可以。那么安装samba吧:
sudo apk add samba
sudo rc-update add samba
sudo rc-service samba start
设置一下samba登陆用户和密码
sudo smbpasswd -a username
然后编辑samba的配置文件
sudo vim /etc/samba/smb.conf
#在share里增加想共享的路径
[share]
comment = share
path = /home
public = yes
writable = yes
printable = no
browsable = yes
valid user = username
我接下来会介绍通过OTG扩容,真正实现NAS功能。
4.设置WakeOnLAN
我是将这台红米2作为ARM服务器长期开机的(目前已经连续运转半个多月,Alpine挺稳的)。于是我想把这台红米2作为局域网内的远程开机设备。需要用到zerotier+wakeonlan:
zerotier负责搭建虚拟局域网,这样我即使在外地也可以打开家里的电脑。然后通过zerotier搭建的虚拟局域网通过远程桌面操作家里的电脑。zerotier的搭建之前有分享,这里也不讲了。
wakeonlan负责唤醒局域网内的主机。Alpine的自带程序库没有wakeonlan,所以我在GitHub上找了一个C语言版的源码自己编译:
#解压后编译
gcc wakeonlan.c -o wol
#把编译好的文件复制到bin文件夹方便调用
cp wol /bin/wol
有wol mac地址的命令太长不好记,所以要设置别名方便远程操作,之前我已经介绍如何切换为bash且生成bashrc文件,接下来编辑它:
sudo vim /home/.bashrc
#由于我有三台主机所以添加3个别名
alias wolxzj='wol mac1'
alias wolzj='wol mac2'
alias wolbjb='wol mac3'
这样我通过ssh远程红米2后输入wolxzj就可以唤醒我的小主机,wolzj就可以唤醒我的主机,wolbjb就能唤醒笔记本,然后再可以分别操作这些设备。
5.安装Nginx
虽然红米2性能很弱,这是在图形化界面的使用感受。如果是作为小服务器,其性能还是挺强的,起码和树莓派4有的比。我在上面搭建了一个简单网站,通过nginx部署,借用了云服务的反向代理功能,具体操作我有时间会写文章分享:
sudo apk add nginx
sudo rc-update nginx
sudo rc-service nginx start
6.OTG扩容
红米2容量太小了,一顿操作后容量不够用了。所以需要通过OTG扩容。有朋友问OTG怎么解决充电问题?我还真找到一个完美解决方案。关键词“充电OTG线”,虽然店家说仅支持平板电脑不支持安卓手机。但是事实上我的红米2刷PostmarketOS后可正常充电+OTG,我买的是OTG线就14元(3USB口+1个充电口)。为了测试又花了50元买了个二手西数500G的2.5寸黑盘。
将充电线插入OTG充电口,档位调到charge。然后插上500G硬盘和一个64GU盘,连接红米手机。
首先确认手机正在显示示充电,然后SSH连接红米2。
注意由于postmarketOS不会自动挂载硬盘,所以一开始使用df -h命令看不到磁盘,需要用到lsblk命令:
#查看所有硬盘用lsblk或fdisk -l
lsblk
#查看硬盘UUID
sudo blkid
可以看到500G的硬盘和64G的U盘正常识别,接下来需要挂载才能使用。记下硬盘名字,然后根据名字查看对应的UUID:
创建一个目录用于挂载硬盘,然后把挂载命令写入/etc/fstab:
#创建挂载文件夹
sudo mkdir /media/twindows
#设置自动挂载
sudo vim /etc/fstab
UUID="00BC-614E" /home/sd ext4 defaults 0 0
#让挂载命令生效
sudo mount -a
注意分区格式一定要正确,如果你的硬盘是ntfs等Windows格式需要安装软件ntfs-3g。如果安装了ntfs-3g挂载命令如下:
UUID="00BC-614E" /home/sd ntfs-3g rw 0 0
挂载硬盘之后就可以安装aria2做下载机,安装Samba做NAS了。不过红米2WIFI速度太慢所以实际表现一般,通过USB共享网络可达到100M,但是wifi下就只有15M左右。手机功耗很低,长期挂载硬盘是否会出现电压不稳我暂时还没有测试。不过没有了容量的限制,CPU性能又还不错(至少能吊打树莓派3B),这下红米2是台货真价实的ARM服务器了。
有的OTG线可以通过USB连接网线,但我不知道PostmarketOS是否有对应驱动,囊中羞涩就没有买USB转网线OTG线测试了,有测试过的朋友可以分享一下结果。
7.aria2c下载机
有了扩容方案,这台红米2还可以作为下载机了。搭建下载机自然少不了aria2:
sudo apk add aria2
aria2的配置,我这个是简版:
# 保存目录
dir=/home/downloads
# 断点续传
continue=true
# 任务目录设置
input-file=/etc/aria2/aria2.session
save-session=/etc/aria2/aria2.session
# 定时保存任务
save-session-interval=60
# 启用RPC
enable-rpc=true
# 允许所有来源
rpc-allow-origin-all=true
# 允许外部访问
rpc-listen-all=true
# RPC端口,默认6800如果被占用可修改
# rpc-listen-port=6800
# 设置的RPC授权令牌
rpc-secret=password
带配置的启动aria2命令有点长,所以还是通过.bashrc设置别名解决:
sudo vim /home/.bashrc
alias runaria2='aria2c --conf-path=/etc/aria2/aria2.conf -D'
基本就这些玩法了。PostmarketOS可以装Docker,其实玩法还有很多。但是硬件性能限制Docker对于红米2太臃肿了,我测试了一下功能就没有继续尝试了。另外需要选择支持arm的镜像。
好了大概就介绍到这里,大家有什么好的玩法和建议也分享一下吧!
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
风吹小衩衩
校验提示文案
muscel
校验提示文案
o0卖菜的0o
校验提示文案
YiSary
校验提示文案
tanyingxin
校验提示文案
qaqaqaq
校验提示文案
数字码头工人
校验提示文案
大力火手
校验提示文案
值友6237578003
校验提示文案
ZZSama_
校验提示文案
太湖笑笑生
校验提示文案
Jasmu
校验提示文案
煮鸡蛋
校验提示文案
cbhb818
校验提示文案
值友2415201045
校验提示文案
S乘风s
校验提示文案
vxlinjie
校验提示文案
牛头人之王
校验提示文案
谜乱
校验提示文案
值友6014988159
校验提示文案
值友7184038706
校验提示文案
风吹小衩衩
校验提示文案
冰与火之哥1985
校验提示文案
MARTIANSAI
校验提示文案
豆戰聖彿
校验提示文案
whmnt
校验提示文案
qaqaqaq
校验提示文案
永远wyg
校验提示文案
值友8394720638
校验提示文案
白菜赛亚人
校验提示文案
小明SC
校验提示文案
wenzi911
校验提示文案
小菜牙
校验提示文案
瘦巴巴的爷们儿
校验提示文案
唧唧復唧唧
校验提示文案
怪盗基德KiDS
校验提示文案
o0德云0o
校验提示文案
不听主打2
校验提示文案
heng66
校验提示文案
值友7756522056
校验提示文案