2013年12月11日 星期三

用 Linux 架設 Time Capsule 伺服器

 

用過MAC電腦的應該都知道,OSX內建一套方便好用的差異備份軟體 Time Machine,但是 Time Machine需要另外獨立的硬碟或網路硬碟,所以Apple有另外推出貴松松的 Time Capsule(WIFI基地台+網路硬碟),然而Linux早已有AFP套件,所以我們可以自行架設支援Time Machine 的備份伺服器。

因為Linux發行版眾多,如何安裝套件,請依造各發行版,

我們需要:

1、安装 Netatalk
Netatalk 是一個免费開源的 AppleTalk 通信協議套件,Linux 或者 BSD 系统通過它可以架設 Mac 的檔案伺服器 (AppleShare File Server, 網路協議是 AFP)、AppleTalk 路由、列印伺服器等。

編輯文件 /etc/netatak/AppleVolumes.default,,如果不希望使用 $HOME則找到“~”一行把它注解掉,另外加入的一行:

/home/yang/share/timemachine “TimeMachine” options:usredots,upriv,tm

這一行分三段
第一段式Linux上想分享出來的資料夾路徑
第二段 "TimeMcacine" 是MAC上面會看到的資料夾名稱,要注意會跟下面的adisk.service設定有關
第三段是支援的服務,這裡的重點在 tm 也就是支援 TimeMachine

2、安装 Avahi

Avahi 是 Apple’s Zeroconf 協議套件,提共 Bonjour 的功能,可以讓你在 Mac 系统里自動搜尋你的 Linux 。

新增文件 /etc/avahi/services/afpd.service

<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=Xserve</txt-record>
</service>
</service-group>

新增文件 /etc/avahi/services/adisk.service

<?xml version="1.0" standalone=’no’?><!–*-nxml-*–>
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
<name replace-wildcards="yes">%h</name>
<service>
<type>_adisk._tcp</type>
<port>9</port>
<txt-record>sys=waMA=00:e0:81:ba:0e:23,adVF=0×100</txt-record>
<txt-record>dk0=adVF=0xa1,adVN=TimeMachine</txt-record>
</service>
</service-group>

這邊要注意的是
waMA= 後面要接的是Linux 的 MAC address
adVN=是資料夾的名稱,也就是/etc/netatak/AppleVolumes.default裡面的 "TimeMachine"

重新啟動服務
/etc/init.d/netatak restart
/etc/init.d/avahi restart

追蹤者