monoの開発ブログ

自宅サーバでTime Machine

各家庭に少なくとも1台は常備されていると言われる自宅サーバを使って、Time Machineでのバックアップを実現してみます。これでAppleにお布施することなくバックアップを取ることができます。

サーバにはUbuntu Server 11.10、クライアントにはOS X Lion 10.7.2を使用しています。

netatalk

netatalkはオープンソースのApple Filing Protocol(AFP)実装です。LionでのTime Machineの保存先として利用するためには、AFP3.3をサポートした2.2-beta3以降のバージョンが必要です。

インストール

Bonjourを使うためのavahi-daemonもあわせてインストールします。

$ sudo apt-get install netatalk avahi-daemon

このままだと動かないのでこちらのワークアラウンドを適用。

$ cd /usr/lib/netatalk
$ sudo rm uams_dhx2.so
$ sudo ln -s uams_dhx2_passwd.so uams_dhx2.so

設定

/etc/default/netatalk

ATALK_UNIX_CHARSET='UTF8'
ATALK_MAC_CHARSET='MAC_JAPANESE'

AFPD_UAMLIST="-U uams_dhx2.so"

/etc/netatalk/afpd.conf

# default:
# - -tcp -noddp -uamlist uams_dhx.so,uams_dhx2.so -nosavepassword
- -tcp -noddp -uamlist uams_dhx2.so -nosavepassword

バックアップの準備

バックアップ先のディレクトリを作成。

$ sudo mkdir -p /var/tm/mono-macbook
$ sudo chown -R mono:mono /var/tm/mono-macbook

/etc/netatalk/AppleVolumes.default

~/        "Home Directory"

/var/tm/mono-macbook "tm-mono-macbook" options:tm allow:mono

再起動

sudo service netatalk restart

クライアントの設定

Bonjourで自動検出してくれるので、Time Machineの環境設定を開いてディスクを選択しようとすると勝手に出てくるはずです。自動で出てこない場合はどこかでミスをしている可能性が高いです。

参考