FreeBSDサーバにTimeMachineのバックアップファイルを置く

 FreeBSDZFS領域が余っているので、MacのTimeMachineのバックアップ領域にすることにしました。
 portsよりAvahiとnetatalkを入れておきます。その後の設定で、TimeMachineの対象ドライブとなるディレクトリを指定してオーナーを接続用のユーザのものにしておきます。

# vi /usr/local/etc/AppleVolumes.default
#~ ←コメントアウトする
/tank/TimeCapsule "EGG" options:tm
# chown nawolets:0 /tank/TimeCapsule

 avahiのserviceにadiskとafpdを加えます。

# vi /usr/local/etc/avahi/services/adisk.service
<?xml version="1.0" standalone='no'?>
<!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=adVF=0x100</txt-record>
    <txt-record>dk0=adVN=TimeCapsule,adVF=0x81</txt-record>
  </service>
</service-group>

# vi /usr/local/etc/avahi/services/afpd.service
<?xml version="1.0" standalone='no'?>
<!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-group>

 rc.confに起動するデーモンを書き込んでおきます。

# vi /etc/rc.conf
dbus_enable="YES"
avahi_daemon_enable="YES"
avahi_dnsconfd_enable="YES"
netatalk_enable="YES"
cnid_metad_enable="YES"
afpd_enable="YES"

avahi-daemon.confのホスト名の定義を書き換えます。

# vi /usr/local/etc/avahi/avahi-daemon.conf
[server]
host-name=TimeCapsule
domain-name=local
# /usr/local/etc/rc.d/avahi-daemon restart

 これでMacからはafp://TimeCapsule/EGGが見えるようになるはずです。TimeMachine環境設定からバックアップに使用するディスクを選び、完了。
 ちなみにjail配下ではうまくいきませんでした。