前言
以往使用 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 是使用者名稱
1 2 | cd /usr/ports/net/netatalk/ make install clean |
1 2 3 | netatalk_enable= "YES" afpd_enable= "YES" cnid_metad_enable= "YES" |
1 | /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:
1 2 | cd /usr/ports/net/avahi/ make config install clean |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <? 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 > |
1 | avahi_daemon_enable= "YES" |
1 | /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