用 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

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

小千夏今年咬咬牙入手了自己的第一台 MacBook Air,和以前拿学校的电脑用不一样,这次终于拥有属于自己的设备了。既然是自己的设备了,自然会作为主力机来用,各种数据和配置的安全也就显得尤为重要了。
那么如何优雅的对 MacBook 的数据进行备份呢?好在 Apple 已经为我们准备了 Time Machine 这个工具——使用Time Machine,不但可以回到过去某个时刻,获取某个文件在当时的版本;也可以在系统异常崩溃后直接全盘恢复到过去某个时刻的状态;亦或者你的电脑在星巴克被人顺走了,你也可以立即购买一台全新的 MacBook,然后通过 Time Machine 来恢复至上一台 MacBook 的数据,从而快速复原生产环境。

继续阅读“用 Netatalk 来低成本搭建 Time Machine 备份服务器”