ubuntuでMacのバックアップ

***2012/05/13 コメント欄の指摘を反映させました。ありがたい!

MacのTimeMachineを使ったバックアップですが、毎回外付けのHDDに繋げるのは面倒だしTimeCapsule買って無線でバックアップするのも良いのですがそこまでお金使ってバックアップとるのも何かナーと思ったので、ubuntuと外付けHDDを使って無線バックアップ環境を構築したのでまとめとこうと思います。


当方環境
Ubuntu 11.10 Server
・外付けHDD 500G
f:id:soramugi:20120505140315j:plain


概要:
常時起動しているubuntuに外付けHDDを繋げて外付け内にバックアップ作成

HDDのフォーマット

参考 新しいHDDを認識させる - ubuntu日記
フォーマットしてまっさらな状態にします。
つないでからubuntuコマンドラインで以下の操作

$ sudo fdisk -l
ーー省略ーー
Disk /dev/sdb: 500.1 GB, 500107862016 bytes
ヘッド 36, セクタ 63, シリンダ 430676, 合計 976773168 セクタ
Units = セクタ数 of 1 * 512 = 512 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスク識別子: 0x4452c624

デバイス ブート 始点 終点 ブロック Id システム
/dev/sdb1 2048 976773167 488385560 83 Linux

僕の場合は/dev/sdb1に繋がったので環境によって読み替えて下さい。

$ sudo fdisk /dev/sdb1

コマンド、d- > n -> p -> 空エンターでデフォルト設定 -> w
パーティション削除して新たに設定。

次にext3でフォーマット

$ sudo mkfs -t ext3 /dev/sdb1

フォーマットされるのを少し待つ。

HDDのマウント

/media/mbatcにマウント

$ sudo mkdir /media/mbatc
$ sudo mount /dev/sdb1 /media/mbatc
$ mount
ーー省略ーー
/dev/sdb1 on /media/mbatc type ext3 (rw,relatime)

マウント出来てることを確認。


起動時に自動マウントの設定

$ sudo vim /etc/fstab
ーー省略ーー
# /dev/sdb1 - Extended HDD
/dev/sdb1 /media/mbatc ext3 relatime 0 2


設定がちゃんと出来ているかアンマウントして確認

$ sudo umount /media/mbatc
$ sudo mount -a
$ mount
ーー省略ーー
/dev/sdb1 on /media/mbatc type ext3 (rw,relatime)

OK

netatalkのインストール

参考:
Ubuntu11.10をLionのTime Machineのバックアップ先にする:sepapa.memo:So-netブログ
Ubuntu@09 netatalk2.2.2でTime Machineサーバの設定 - Cotton Paper web.

ポイントはnetatalkのバージョンを2.2.2にすることです。
apt-getでインストール出来るバージョンは古く、TimeMachineのバックアップは出来るのですがTimeMachine内に入る事が出来ませんでした。ここで積んでましたが、コンパイルから入れることで無事出来ました。

コンパイルに必要なライブラリをインストール

$ sudo apt-get install libdb4.8-dev
$ sudo apt-get install libssl-dev
$ sudo apt-get install libgcrypt11-dev
$ sudo apt-get install libavahi-client-dev

ソースファイルのダウンロード、展開

$ cd /tmp
$ wget http://sourceforge.net/projects/netatalk/files/netatalk/2.2.2/netatalk-2.2.2.tar.gz
$ tar zxvf netatalk-2.2.2.tar.gz

コンパイル

$ cd netatalk-2.2.2
$ ./configure --enable-debian --prefix=/usr --with-pkgconfdir=/etc/netatalk --with-uams-path=/usr/lib/netatalk
$ make
$ sudo make install

netatalkの設定

権限変更

$ chown ユーザー名. /media/mbatc
$ chmod 755 /media/mbatc

変更箇所

$ sudo vim /etc/default/netatalk

ATALK_UNIX_CHARSET='UTF8'
ATALK_MAC_CHARSET='MAC_JAPANESE'


$ sudo vim /etc/netatalk/AppleVolumes.default

:DEFAULT: options:upriv,usedots

#:DEFAULT: options:upriv,usedots
:DEFAULT: options:upriv,usedots dperm:0700 fperm:0600


~/ "Home Directory"

#~/ "Home Directory"
/media/mbatc "TMBackup" options:tm volsizelimit:500000


$ sudo vim /etc/netatalk/afpd.conf

- -tcp -noddp -uamlist uams_dhx.so,uams_dhx2.so -nosavepassword

# - -tcp -noddp -uamlist uams_dhx.so,uams_dhx2.so -nosavepassword
- -tcp -noddp -uamlist uams_dhx2.so -nosavepassword

起動

$ sudo service netatalk restart

これでMac側のTimeMachineの環境設定、ディスク選択をクリックして「TMBackup」が表示されていれば完了です!
設定してバックアップが完了されるのを待ちましょう〜