monolithic kernel

自宅サーバでTime Machine

October 22, 2011

    各家庭に少なくとも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の環境設定を開いてディスクを選択しようとすると勝手に出てくるはずです。自動で出てこない場合はどこかでミスをしている可能性が高いです。

    参考