在 Ubuntu 22.04 中部署 Time Machine Server

Google 的搜索结果中有很多的简易安装教程,然而都有各自的问题,从服务没有正确配置到用户无法正常验证,因此在这里写一篇 blog 记录一下配置的过程。

服务器环境:Ubuntu 22.04 x64
macOS 版本:14.2.1

首先安装 netatalkavahi-daemon 软件包

1
apt install netatalk avahi-daemon -y

创建 timemachine 用户并设置其密码

1
2
useradd --no-create-home timemachine
passwd timemachine

创建数据目录并设置其权限与所有者,这里使用的目录为 /data/timemachine

1
2
3
mkdir -p /data/timemachine
chown timemachine:timemachine /data/timemachine
chmod 755 /data/timemachine

然后开始配置 netatalk 服务,注意这里的 Time Machine 备份容量限制为1TB,一般备份设置两倍于设备的硬盘容量即可(适用于每小时快照)。

编辑 /etc/netatalk/afp.conf 文件

1
2
3
4
5
6
7
8
[Global]
hostname = timemachine

[TimeMachine]
path = /data/timemachine
time machine = yes
valid users = timemachine
vol size limit = 1000000

重启并将相关服务设为开机启动

1
2
3
4
systemctl enable avahi-daemon
systemctl restart avahi-daemon
systemctl enable netatalk
systemctl restart netatalk

禁用 ufw

1
ufw disable

最后在 macOS 的 System Settings-General-Time Machine 中添加名为 timemachine.local 的备份磁盘,输入你在之前步骤中设置的用户名与密码,最后选择是否要加密此 Time Machine 备份即可完成配置。

在 WiFi6 与 2.5G 内网的环境中,Ubuntu Time Machine 的实际备份速度大约在 30Mbps 左右,因此根据数量的大小首次备份需要花费十几个小时至几天的时间,这是正常的情况。

Source
TimeMachine backup to a Linux server