温馨提示×

Debian挂载Apple Time Machine

小樊
41
2025-12-29 21:56:52
栏目: 智能运维

Debian 挂载 Apple Time Machine 的可行方案

目标与前提

  • Debian 上让 macOS Time Machine 把备份写到 Linux 主机的磁盘,需要开启 AFP 文件共享并让 Mac 发现服务;Linux 端以只读方式“挂载/访问”Time Machine 稀疏磁盘镜像(.sparsebundle)通常不可行,推荐做法是把备份目录作为共享卷提供给 Mac 使用。
  • 准备:一块容量充足的磁盘或分区(如 /dev/sdb1),已格式化为 ext4 并挂载到如 /mnt/tm;一个用于登录的 Linux 用户(如 tmuser),并确保该用户对备份目录有读写权限。

方案一 推荐 将 Debian 作为 Time Machine 备份目标 AFP Netatalk

  • 安装组件
    • sudo apt update
    • sudo apt install -y netatalk avahi-daemon
  • 配置共享卷(两种等效方式,二选一)
    • 方式 A(传统 AppleVolumes.default)
      • 编辑:/etc/netatalk/AppleVolumes.default
      • 建议注释默认 Home 共享行(以 # 开头)
      • 增加一行(示例):
        • /mnt/tm “TimeMachine” options:tm allow:tmuser
      • 说明:
        • options:tm 标记该卷为 Time Machine 可用
        • allow:tmuser 仅允许指定用户写入
        • 如需配额,可加 volsizelimit:500000(单位 MB,示例为约 500GB
    • 方式 B(新版 afp.conf)
      • 编辑:/etc/netatalk/afp.conf
      • 示例:
        • [Global]
        • [TimeMachine]
        • path = /mnt/tm
        • time machine = yes
  • 让 Mac 发现服务(Avahi)
    • 新建:/etc/avahi/services/afpd.service
    • 内容:
      • %h _afpovertcp._tcp 548 _device-info._tcp 0 model=Xserve
  • 权限与目录
    • sudo chown -R tmuser:tmuser /mnt/tm
    • sudo chmod 0700 /mnt/tm
  • 启动与开机自启
    • sudo systemctl enable --now netatalk avahi-daemon
  • 防火墙(如启用 UFW)
    • sudo ufw allow 548/tcp
  • 在 Mac 上选择备份磁盘
    • 打开“系统设置 > 通用 > 时间机器”,点击“添加备份磁盘”,选择名为 TimeMachine 的共享;首次备份可能较慢,建议接通电源并保持网络稳定。

方案二 只读访问已有 Time Machine 备份 sparsebundle(不推荐)

  • 背景说明
    • Time Machine 在 SMB/AFP 上以 稀疏磁盘镜像(.sparsebundle) 形式存放备份。Linux 内核不支持直接挂载这种镜像,通常需要借助用户态文件系统(如 FUSE 的 hfsplus/afuse 等),且即便能挂载也多为只读,难以用于恢复或继续增量备份。
  • 简要尝试思路(仅用于读取验证)
    • 安装 FUSE 与相关工具(示例):sudo apt install -y hfsplus hfsutils afuse
    • 不建议直接 mount,可尝试只读方式通过 afuse/hfsplus 访问,但成功率与一致性不保证,且对 Time Machine 的后续使用无益。
  • 建议
    • 若只是读取历史版本,建议在 macOS 上挂载该 .sparsebundle 进行浏览与恢复;若要继续在 Debian 上作为备份目的地,请采用方案一提供 AFP 共享卷。

常见问题与排查

  • 看不到 Linux 主机
    • 确认 Avahi 已运行(sudo systemctl status avahi-daemon),防火墙放行 548/TCP,以及 afpd.service 配置正确;在 Mac 的“网络”中浏览或“前往 > 连接服务器”手动连接 afp://你的主机名。
  • 能连接但 Time Machine 不显示磁盘
    • 确认共享卷配置中包含 options:tm(AppleVolumes.default)或 time machine = yes(afp.conf),并且登录用户对目录有写权限;必要时在 afp.conf 的 [Global] 中设置 uam list = uams_dhx2.so(按需选择认证方式)。
  • 权限或配额问题
    • 使用 allow:用户名 精确授权;需要限制备份容量时使用 volsizelimit:大小MB;确保备份目录属主与权限正确(如 0700)。
  • 服务未启动或开机不自启
    • 使用 sudo systemctl enable --now netatalk avahi-daemon 启用;检查日志:journalctl -u netatalk -u avahi-daemon。

0