Linux BoxにTime Machineを使ってバックアップする方法 [UPDATE]
netatalk 2.0.5rc1で、Time Machineをサポートするようになったので、MacBook ProのディスクをTime Machineでバックアップするようにしてみた。
今回使用したLinux BoxのOSはLinuxで、Ubuntu 8.04LTSを使用した。ちなみにUbuntuのデスクトップ版は、ログインしたときしかネットワークに繋がないのでサーバ用途には使えない。迷わずServer Editionを使用のこと。必要なのはavahi-daemon とnetatalk。ただし2009年9月23日現在、Ubuntu、Debian共にTime Machineをサポートしているnetatalk 2.0.5rcはパッケージになっていないので、tarballからコンパイルする。まずはavahi-daemonとnetatalkのコンパイルに必要なパッケージをインストール
$ sudo aptitude install avahi-daemon cracklib2-dev fakeroot libssl-dev
$ sudo apt-get build-dep netatalk
sourceforgeからnetatalk 2.0.5rc1をダウンロードして、make install。将来、パッケージ化されることを期待して、/opt/netatalk にインストールすることにする。
$ tar jxvf netatalk-2.0.5rc1.tar.bz2
$ cd netatalk-2.0.5rc
$ ./configure --prefix=/opt/netatalk
$ make
$ sudo make install
まずはnetatalkの設定。/opt/netatalk/etc/netatalk/ にある、afpd.conf と AppleVolumes.default を編集する。afpd.confは、デフォルトのままでOKだったので、編集しないで良かった。ホームディレクトリにTimeMachineというディレクトリを作り、そこをTime Machine用のディレクトリとすることにすると、AppleVolumes.defaultは以下のようになる。
~/TimeMachine "Time Machine" options:usedots,upriv,tm
次にavahi-daemonの設定。/etc/avahi/services に、afpd.service というファイルを作り、以下の内容にする。
<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
<name>homefs</name>
<service>
<type>_afpovertcp._tcp</type>
<port>548</port>
</service>
</service-group>
このファイルのname要素は、Finderに表示されるサーバー名になる。最後にafpd, と avahi-daemon を起動。の前に、afpd の rcスクリプトを書いておく。
2009-09-26 追記
HAT氏のコメントによると、rcスクリプトは自動生成されるようだ。デフォルトでは /etc/init.dにインストールされてしまう。まぁデフォルトでもよいのだが、最後まで/optにこだわることにする。ここで、--enable-debian のオプションを付けて configureを実行し、initscript のテンプレートが格納されているディレクトリに移動し、rcスクリプトを生成する。すなわち distrib/initscript に移動しmake する。HATさん、有用なコメントありがとうございました。
$ ./configure --prefix=/opt/netatalk --enable-debian
$ cd distrib/initscripts
$ make
生成されたrcスクリプト atalk を/opt/netatalk/etc/init.d にコピー
$ sudo mkdir -p /opt/netatalk/etc/init.d
$ sudo cp atalk /opt/netatalk/etc/init.d
そして起動。
$ sudo /opt/netatalk/etc/init.d/netatalk start
$ sudo /etc/init.d/avahi-daemon start
Mac 側でFinderを立ち上げ、[Command] + K を押しネットワークドライブをマウントする。アドレスは afp://サーバのホスト名。ユーザ名とパスワードで認証したら、Time Machineという共有ディレクトリが見えているはずだ。そして Mac で Time Machine を設定すればよい。
この記事は、HowTo: Make Ubuntu A Perfect Mac File Server And Time Machine Volume [Update6]、およびTime Machine with Netatalkを参考にした。
このファイルサーバのために、新たにAtom 330を使った小さいLinux Boxを新調した。1TBのディスク2台でRAID 1のアレイを構築。なんかえらい安かった。秋葉原のドスパラですべてのパーツを調達したら3万円ちょっとだった。普通にNASを買ってもそのくらいしそうだし、Mediatombを入れてメディアサーバにできたり、常時稼働するLinux BoxとしてIPv6だなんだで、いろいろごにょごにょできる。
そういえば一ヶ月ほど、記事を書いていなかった。この間、海外出張したり色々あったが、まぁ気が向いたらおいおい書いていくことにする。
Categories
computer1 TrackBacks
Listed below are links to blogs that reference this entry: Linux BoxにTime Machineを使ってバックアップする方法 [UPDATE].
TrackBack URL for this entry: http://www.argv.org/~chome/blog/mt-tb.cgi/86
netatalkでTimeMachineを使う事に成功している人が結構います。 netatalk 2.0.4以前は色々と面倒な手順が必要でした。 Ti... Read More

Ubuntuだとconfigureオプションに--enable-debianを指定すればrcスクリプトがインストールされると思うのですが、どうでしょうか。
> Mr./Ms. HAT
configure オプションの--enable-debianは、そういう意味だったのですね。知りませんでした。
デフォルトでは、rc script のインストールディレクトリは /etc/init.d のようです。
ここはあえて /opt/netatalk 以下にするように、記事を更新しました。
ありがとうございます。