OS X Lion から Linuxサーバに Time Machine バックアップ

自分は Linux サーバを Time Machine のバックアップ先として利用しているのですが、OS X Lion にしてから、SMB経由での「Time Machine」バックアップ機能が使えなくなってしまいました。Sambaが独自開発のものに置き換えられてしまったのも影響していると思うんですが、不便なのでLinuxサーバにAFP経由でバックアップできるように設定しました。

なお、自分の環境は CentOS 5.6 なのでソースからインストールしましたが、超最新なディストリビューションの場合はパッケージを使って楽できるかもしれません。

手順を以下に示します。

(1)コンパイルに必要なライブラリをインストール
% sudo yum install avahi-devel libgcrypt-devel openssl-devel
(2)Oracle Berkeley DB をインストール

Oracle Berkeley DB Downloads からファイルをダウンロード

% tar zxvf db-5.2.28.tar.gz
% cd db-5.2.28/build_unix/
% ../dist/configure --with-uniquename
% make
% sudo make install
(3)Netatalk をインストール

Netatalk は AFP 3.3 に対応した Netatalk 2.2 をインストールする必要があります。
netatalk.sourceforge.net からファイルをダウンロード

% tar jxvf netatalk-2.2.0.tar.bz2
% cd netatalk-2.2.0
% ./configure --enable-redhat --enable-zeroconf --with-bdb=/usr/local/BerkeleyDB.5.2
% make
% sudo make install

/usr/local/etc/netatalk/AppleVolumes.default を編集して、デフォルトのパーミッションを設定します。

# The line below sets some DEFAULT, starting with Netatalk 2.1.
:DEFAULT: options:upriv,usedots cnidscheme:dbd dperm:0700 fperm:0600 ea:sys

また、Time Machine 用のディレクトリをマウント出来るようにエクスポートしておきます。自分の場合は、/mnt/NAS/TimeMachine をバックアップ用として指定しています。

# The "~" below indicates that Home directories are visible by default.
# If you do not wish to have people accessing their Home directories,
# please put a pound sign in front of the tilde or delete it.
~
/mnt/NAS/TimeMachine "Time Machine" options:tm
(4)Netatalk および avahi-daemon の起動

最後にNetatalk が自動起動するように設定して起動します。もし、ファイアウォールの設定をしている場合は、ポート 548 も忘れずに開けておきます。

% sudo /sbin/chkconfig netatalk on
% sudo /sbin/service netatalk start
% sudo /sbin/chkconfig avahi-daemon on
% sudo /sbin/service avahi-daemon start

以上で、Time Machineの設定画面から見えるようになるはずです。あとは普通に Mac 側で設定するだけ。

Netatalk 2.2のリリースに関してはひと悶着あったようですが、個人ユーザとしては継続して公開してもらえるのは嬉しいところです。