大家好,
我想与大家分享一篇我找来没能在文档中看到的设置:用一台 Raspberry Pi 作为 Apple Time Capsule(仅 AFP)与 macOS Time Machine(正逐渐改为 SMB)之间的桥梁。
问题
苹果在2018年停止生产Time Capsule。未来的macOS版本(27+)将完全抛弃AFP功能。你的完好运行的2TB Time Capsule变成了废品。
解决方案
一台 Raspberry Pi 4作为中继:
- 挂载 Time Capsule 硬盘通过 AFP(使用afpfs-ng编译 + libgcrypt + allow\\\_other)
- 经过 Samba 重复分享它至 SMB(时间机器兼容性),并配置fruit配置来实现此功能
- macOS 正常备份至 SMB
体系结构:Mac(SMB)> Raspberry Pi(Samba)> Time Capsule(AFP)
硬件步骤
- afpfs-ng 无法在现代系统编译:使用 Docker 构建 rc2dev/afpfs-ng-deb repo + libgcrypt 补丁
- 构建的包缺乏DHX2 UAMS,用于 Time Capsule 的认证:必须在 Dockerfile 中添加 libgcrypt20-dev
- 通过重写 source code 更改 uid = 1 和命令.c 中 if(1)
- Samba 的内核 opplock 会 crash FUSE 挂载:在 smb.conf 中配置 kernel opplock = no + kernel share modes = no
- FUSE 中不支持 AFP的属性: streams\\\_depot 代替 streams\\\_xattr
- 通过 cron 脚本的 watch dog 设计 AFP 挂载:每 12 小时会自动反挂载
- 不使用 Time Capsule 卷名中的空白来避免 afpfs-ng crash:使用 AirPort Utility 在 AirPort 设置时
全步骤指南
我编写了一个 pdf 指南详细教程(FR + EN )全命令,配置 Avahi systemd,配置手册和 watch dog 脚本。注明详细链接在评论中。
详细的pdf 指南中还包括:Pihole(广告拦截器)、WireGuard VPN、DuckDNS、AnyDesk(远程 Mac 控制)、Wake-on-LAN, 和 SSH 证书。
测试设备
- Raspberry Pi 4(2 GB RAM)
- Raspberry Pi OS Lite 64(Debian Trixie)
- macOS Tahoe
- Apple Time Capsule 802.11ac(固件 7.9.1)
- 必须配置以太网接口(稳定性很重要)
了解点数
- 首次备份非常缓慢(几天)因为数据通过 AFP / FUSE 桥
- 后续的增量备份快速完成(几分钟)
- Pi 设备上,使用 Ethernet + Samba 套接字选项(TCP\\\_NODELAY,SO\\\_KEEPALIVE)非常重要
-watchdog脚本:当 AFP 连接丢失时会自动再挂载卷
如果你还有一个 Time Capsule 没有使用,你可以重新利用它。如果你有任何问题,都尽管说声谢谢。
如果指南复杂,这个pdf可以提供给你的 AI (Claude, ChatGPT 或等),并要求它一步步导游。如果你确认需要这些信息,一定要记下密码和名字,并不需要传送给 AI,用户手填信息。安全性在于不应该用 AI 插入的。
评论 (0)