前言
以往使用 Mac Mini Server 磁碟分享作為手邊各項 Mac 裝置的 Time Machine 備份空間;
但近來有其他需求將 Mac Mini 挪用至他處,若添購 Time Capsule 又是一筆額外的開銷,
索性利用前些日子於 FreeBSD 建好的 ZFS storage pool 也作為新的 Mac 備份空間。
然而,網路上找到的教學文章大多基於稍早版本的 Netatalk 並搭配 Mac OS Leopard/Snow Leopard,
隨時間演進有些過時資訊未更新。
本文以 FreeBSD 8/Netatalk 2.2.4/Mac OS Mountain Lion (10.8) 為例,詳述步驟如下…
做法
- 以 ports 安裝 Netatalk
- 編輯
/etc/rc.conf
- 編輯
/usr/local/etc/AppleVolumes.default
- Time Machine 是備份空間的名稱
/home/share/apple
是備份空間的路徑- kmd 是使用者名稱
cd /usr/ports/net/netatalk/ make install clean
netatalk_enable="YES" afpd_enable="YES" cnid_metad_enable="YES"
/home/share/apple "Time Machine" allow:kmd options:usedots,upriv,tm cnidscheme:dbd
進階功能: 讓前述服務可被 Mac 還原模式搜尋到
雖然以上所提已可與 Mac OS X 合作無間,
但若碰到要做系統還原的時候,還必須搭配 avahi 將服務廣播出去。
- 首先以 ports 安裝 avahi,此處只需選擇 avahi-libdns
- 安裝完成後,於
/usr/local/etc/avahi/services
新增afp.service
檔案: - 於
/etc/rc.conf
加入: - 重新啟動 avahi-daemon:
cd /usr/ports/net/avahi/ make config install clean
<?xml version="1.0" standalone='no'?><!--*-nxml-*--> <!DOCTYPE service-group SYSTEM "avahi-service.dtd"> <service-group> <name replace-wildcards="yes">%h</name> <service> <type>_afpovertcp._tcp</type> <port>548</port> </service> <service> <type>_device-info._tcp</type> <port>0</port> <txt-record>model=TimeCapsule</txt-record> </service> </service-group>
avahi_daemon_enable="YES"
/usr/local/etc/rc.d/avahi-daemon restart
Note
本篇做法與前人分享的差異在於:
-
新版 Netatalk 須在
rc.conf
加入 cnid_metad_enable 設定 - 新版 Mac OS X 已無需調整於系統設定調整 TMShowUnsupportedNetworkVolumes 選項
- 新版做法使用者無需手動以磁碟工具建立磁碟映像檔 (sparse bundle disk image),也免去以往需事先準備來源主機的 mac address 及 hostname 等資訊。
References