Cotton Paper web.

campやmac、iPhone、iPadと家電

Ubuntu@13 netatalk 2.2.3のインストール

いつもの通りTimeMachineでバックアップをとろうとするとエラーが出るようになりました。

CNIDのエラーとかで、要はアクセス制御のDBのエラーの様です。

解決方法を探していると、この辺のエラーを修正したnetatalkの2.2.3がリリースされていると言う事で、コンパイル&インストールしてみる事にしました。

とは言っても、手順は2.2.2の時と全く同じです。

ちなみに、2.2.2のままでもエラーは回避できます。
方法は最後に。



netatalk 2.2.3 のコンパイルに必要なライブラリは以下の通り。
全てUbuntuソフトウェアセンターからインストール出来ます。

 libdb4.8-dev
 libssl-dev
 libgcrypt11-dev
 libslp-dev
 libavahi-client-dev


都度sudoするのは面倒なので、スーパーユーザーになっておきます。

まずは作業フォルダを作り、そこに移動しておきます。

# mkdir work
# cd work

ソースファイルをダウンロードします。

# wget http://sourceforge.net/projects/netatalk/files/netatalk/2.2.3/netatalk-2.2.3.tar.gz

ダウンロードしたソースファイルを展開します。

# tar zxvf netatalk-2.2.3.tar.gz

展開して出来たフォルダに移動します。

# cd netatalk-2.2.3

コンパイルします。オプションの意味は何となくしか分かりません。
情報を公開してくれている方々に感謝です。

# ./configure --enable-debian --enable-srvloc --prefix=/usr --with-pkgconfdir=/etc/netatalk --with-uams-path=/usr/lib/netatalk

makeします。

# make

インストールします。

# make install


これで、netatalk 2.2.3 のインストールは完了です。


その他、TimeMachineサーバに必要な設定は以下の通り。
Time Machineの保存先となるフォルダを作成します。

# mkdir /home/xxx/TimeMachine

オーナーを自分に変えます。

# chown xxxx:xxxx TimeMachine

アクセス権は755にします。

$chmod 755 TimeMachine

各種設定ファイルを変更します。
変更箇所だけ記載しておきます。

■/etc/default/netatalk

ATALK_UNIX_CHARSET='UTF8'
ATALK_MAC_CHARSET='MAC_JAPANESE'

■/etc/netatalk/AppleVolumes.default
Time Machineで表示される保存先の名称とサイズを記載しています。
volsizelimit:50000は50GBまでと言う事です。

:DEFAULT: options:upriv,usedots dperm:0700 fperm:0600 ea:sys
/home/xxxx/TimeMachine "Time Machine" options:tm volsizelimit:50000(この行は自分で書く)

■/etc/netatalk/afpd.conf

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



で、2.2.2でのエラー回避方法ですが、のぶさんのnew_windowNo One Betterにママ解決方法があります。
コメントでこの方法は間違っているとの指摘をいただきました。私の場合は解決したのですが、違うようでもあるので、その旨ご承知おき下さい。

再度new_windowK-HATさんよりコメントをいただきました。
didの修復コマンドで上手くいかない場合は、.AppleDBを削除した後、手動でcnid_dbdとするのではなく、/etc/default/netatalkにて、CNID_METAD_RUN=yesとしてnetatalkをstartさせると良いようです。

netatalkを停止
sudo /usr/local/etc/rc.d/netatalk stop

TimeMachineの保存場所に移動して.AppleDBを削除
sudo rm -rf .AppleDB

cnid_dbdを起動
sudo cnid_dbd

設定ファイルの編集
sudo gedit /etc/default/netatalk
として、
CNID_METAD_RUN=yes
を確認、違っていればこの通り修正。

netatalkを起動
sudo /usr/local/etc/rc.d/netatakl start

これでエラーを回避できました。

※スーパーユーザーでのコマンド表記を#に修正しました