用 samba 来低成本搭建 Time Machine 备份服务器

三个月前搭了个 NetaTalk 作为Time Machine 备份服务使用:用 Netatalk 来低成本搭建 Time Machine 备份服务器,很稳定地跑了几个月。然后千夏前几天手贱把系统从 Debian 11 (bullseye) 升级到了 Debian 12 (bookworm) 后发现 netatalk 不见了(((

搜索了一下发现是因为 netatalk 因为缺乏维护被 Debian 从 bookworm 中移除掉了
虽然有给出从 Debian Unstable 安装 netatalk 的方法,但千夏不是很想折腾非稳定版本的软件包,再加上 Apple 已经放弃了 AFS 的支持向 SMB 靠拢了,于是就想着用 samba 来重新配一下 Time Machine 服务。

首先安装 samba
sudo apt install samba

然后编辑 samba 的配置文件
sudo vim /etc/samba/smb.conf

[global]
# 在 global 中添加以下内容
server min protocol = SMB3
#vfs_catia 提供非法字符转换以正确映射 Apple 路径。 vfs_fruit 是用于实现与 Apple SMB 客户端兼容,vfs_streams_xattr 是允许在底层文件系统中存储 NTFS 备用数据流的主要模块。
vfs objects = catia fruit streams_xattr
fruit:nfs_aces = no
fruit:metadata = netatalk
fruit:locking = netatalk
fruit:encoding = native

[TimeMachine]
comment = Backup for Mac Computers
path = /mnt/backup/TimeMachine
force user = USERNAME
force group = USERGROUP
read only = no
browseable = yes
create mask = 0660
force create mode = 0660
directory mask = 0770
force directory mode = 0770
fruit:time machine = yes
# 设置最大可用空间
fruit:time machine max size = 500G
/etc/samba/smb.conf

保存后设置一下用户密码 smbpasswd -a USERNAME ,然后重启一下 samba 服务,接着在 MacBook 上打开访达 – 连接服务器输入 smb://your-ip-address/TimeMachine,认证后应该就能挂载成功了。打开 macOS 设置里的时光机页面,添加这个磁盘后应该就可以正常使用啦。

参考资料

macOSのタイムマシンをSambaサーバに保存する
Samba and macOS Time Machine
vfs_fruit — Enhanced OS X and Netatalk interoperability

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注