树莓派搭建局域网时间机器服务器
(2020年05月27日)
使用Netatalk配置相关服务,非samba协议挂载网络磁盘做法。
所需材料
- 树莓派一块
- 移动硬盘一块
安装操作系统
直接从树莓派官网下imager,然后烧到SD卡上就行;或者下好镜像自己烧进去。
重新加载SD卡磁盘,进入/Volumns/boot
,做两件事:
在磁盘根目录创建一个叫做ssh
的空文件,让系统第一次启动时启用sshd
:
$ touch ssh
如果没有有线以太网连接的话,可以配置headless的无线连接,将对应内容写入到磁盘根目录的wpa_supplicant.conf
:
country=CN
ctrl_interface=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="WIFI_SSID"
psk="WIFI_PASS"
key_mgmt=WPA-PSK
scan_ssid=1
}
卸载SD卡磁盘,将SD卡插到树莓派上,通电开机。
连接树莓派进行配置
树莓派启动后会自动通过Avahi广播主机名,根本不需要去查IP地址。
$ ssh pi@raspberrypi.local
用默认用户密码raspberrypi
登陆。
登陆后运行raspi-config
进行进一步配置。
- 修改hostname
- 修改sshd配置
- 修改用户名和密码
- 添加弱权限用户
创建HFS+磁盘并挂载
安装依赖:
$ apt install hfsutils hfsprogs
插入磁盘并确定磁盘文件,然后将其格式化:
$ mkfs.hfsplus /dev/sdx
创建挂载点:
$ mkdir /path_to_mountpoint
在/etc/fstab
中添加表项(磁盘UUID在/dev/disk/by-uuid
中可以找到):
UUID=xxxxxxxx /path_to_mountpoint hfsplus force,rw,user,noauto 0 0
挂载磁盘:
$ mount /path_to_mountpoint
安装并配置Netatalk
$ apt install netatalk
- 向
/etc/nsswitch.conf
文件的hosts:
一行末尾添加mdns4 mdns
- 修改
/etc/netatalk/afp.conf
:Global
区中可以添加mimic model = TimeCapsule6,106
- 按照注释自行修改挂载点路径即可
- 删除
time machine = yes
一行前的注释 - 有需要则可以开启普通的文件共享服务
启动相关服务:
$ systemctl start avahi-daemon
$ systemctl start netatalk
配置时间机器
可以到finder去手动连接afp://hostname.local
,或者直接打开macOS时间机器偏好设置,在“选择磁盘”中可以找到hostname.local
这个磁盘。
选择该磁盘,使用具有对挂载点目录有读写权限的用户登陆,开始时间机器备份。
使用效果
- 无需每次插入硬盘,进入局域网环境即自动连接到树莓派
- Wi-Fi环境下备份速度大约为有线连接的1/10,还算能接受
疑难问题
- 修改
root
用户密码使用完后,使用passwd -l root
锁定账户。 - 每次重启树莓派后需要手动挂载外置硬盘;
- 时间机器疑似不支持通过密钥认证身份,必须使用账户密码。