netatalkでTimeMachineサーバを作れることは有名な話ですが、MacOSをLionにアップデートするとTimeMachineサーバを認識できなくなってしまいました。

Lionから認識させるには、netatalkを2.2に上げる必要があります。
ということで作ってみました。
その備忘録です。

前提条件としてはavahiが動作していることです。

Step1. netatalk 2.2をインストール

まずnetatalk 2.2をインストールしなければなりません。
今日現在Gentooにはnetatalk 2.2は登録されていないので、laymanからlumanツリーを登録します。

# emerge layman
# echo "source /var/lib/layman/make.conf" >> /etc/make.conf
# layman -L
# layman -a luman
# layman -S

ツリーを登録できたらnetatalkをemergeします。2.2 beta4がインストールされます。

# emerge netatalk

Step2. afpdの設定

まずtimemachine用のアカウントを追加しておきます。

# useradd timemachine
# passwd timemachine

ディスクは/var/lib/timemachineを割り当てることにしますので、/etc/netatalk/AppleVolumes.defaultにエントリを追加します。(~の行はコメントアウトしておきます)

# vim /etc/netatalk/AppleVolumes.default
# The line below sets some DEFAULT, starting with Netatalk 2.1.
:DEFAULT: options:upriv,usedots dperm:0700 fperm:0600 ea:sys

# 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.
#~

/var/lib/timemachine "Time Machine" options:tm

/etc/netatalk/afpd.confには動作ログを記録する設定を追加しておきます。

# vim /etc/netatalk/afpd.conf
- -tcp -noddp -uamlist uams_dhx.so,uams_dhx2.so -nosavepassword -setuplog "default log_info /var/log/afpd.log"

最後に格納先となる/var/lib/timemachineディレクトリのownerとパーミッションを設定しておきます。

# rm -r /var/lib/timemachine
# mkdir /var/lib/timemachine
# chown timemachine:timemachine /var/lib/timemachine
# chmod 700 /var/lib/timemachine

ここまできたらatalkのサービスを起動します。avahiのサービスが起動していることの確認も忘れずに。

# /etc/init.d/avahi start
# /etc/init.d/atalk start

Step3. MacOS Xからマウント

あとは普通にMacOS XのTime Machineから、ディスクを選択して認証すれば自動的にバックアップがはじまります。

netatalk 2.1の場合は、ディスクを広告するためにavahiのサービスファイルを作成する必要がありましたが、nettalk 2.2の場合は自動的に登録されるので/etc/avahi/services/*.serviceファイルの作成は不要です。
(つうか、作成してはいけません)