Debian(lenny)にnetatalkインストールしてみた。MacのTime Machineを使いたいのでnetatalk-2.0.5rc1をソースからインストールした。
1.インストール
$ sudo aptitude install avahi-daemon cracklib2-dev fakeroot libssl-dev
$ sudo apt-get build-dep netatalk
$ wget "http://downloads.sourceforge.net/project/netatalk/netatalk/2.0.5-rc1/netatalk-2.0.5rc1.tar.bz2?use_mirror=jaist"
$ tar jxvf netatalk-2.0.5rc1.tar.bz2
$ cd netatalk-2.0.5rc
$ ./configure --prefix=/usr/local/netatalk --enable-debian
$ make
$ sudo make install
2.AppleVolumes.defaultの設定
/usr/local/netatalk/etc/netatalk/AppleVolumes.default
:DEFAULT: maccharset:MAC_JAPANESE volcharset:UTF8 options:usedots,upriv dperm:0700 fperm:0600 cnidscheme:dbd
~
3.AppleVolumes.systemの設定
/usr/local/netatalk/etc/netatalk/AppleVolumes.system
中身を空にする。参考1に理由が書いてある。
$ cd /usr/local/netatalk/etc/netatalk
$ sudo sudo mv AppleVolumes.system AppleVolumes.system.org
$ sudo touch AppleVolumes.system
4.netatalk.confの設定
atalkdとpapdが扱う文字コードの指定だが使用しないので関係ないかな。。念のため設定。
ATALK_MAC_CHARSET='MAC_JAPANESE'
ATALK_UNIX_CHARSET='UTF8'
5.atalkd起動
起動するとエラー発生。
$ sudo /etc/init.d/atalk start
Starting Netatalk services (this will take a while): nbp_rgstr: Connection timed out
Can't register loach:Workstation@*
複数NICが存在するのが原因らしい。atalkd.confにeth0のみ登録。起動成功!atalkd.confってAppleTalk用の設定ファイルだと思うのでAppleTalk自体を無効にする。OS9は使わないのでAppleTalkはいらんでしょ。
/usr/local/netatalk/etc/netatalk/netatalk.conf
ATALKD_RUN=no
PAPD_RUN=no
CNID_METAD_RUN=yes
AFPD_RUN=yes
TIMELORD_RUN=no
A2BOOT_RUN=no
CNID_METAD_RUN=yesはcnid_metadデーモンを有効にするってことらしい。AppleVolumes.defaultでcnidscheme:dbd(cnid_metad経由でのアクセス)となっているのでこれは有効にしないといけない。
CNID (Catalog Node ID)はファイルやフォルダにつけられている管理ID。cind_metadはCINDを管理するデーモン。cnidscheme:cbdとかするとcind_metadを経由せず直接CNIDをデータベースに書き込む。cnidscheme:dbdが安定しているのでお勧めらしい。
あれ??/etc/init.d/atalk stopを行うと以下のエラーでatalkdが終了しない。
Stopping Netatalk Daemons: afpd cnid_metad papd timelordstart-stop-daemon: stat /usr/local/netatalk/sbin/timelord: No such file or directory (No such file or directory)
とりあえず、timelord(使わないが)もインストール
$ cd ~/src/netatalk-2.0.5rc1/contrib
$ sudo make install
終了も正常に行われた。
6.Macから接続
移動ー>サーバへ接続で「afp://192.168.1.1」などと指定。接続を確認。
サイドバーからnetatalkサーバを見えるようにするにはavahi-daemonの設定を行う。/etc/avahi/services に、afpd.service というファイルを作り、以下の内容にする。ちなみにavahi-daemonとはBonjour互換のサービスである。
/etc/avahi/services/afpd.service
<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
<!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>
netatalkサーバではsambaも動作している。netatalk上のホスト名とNetBios名が同じだと問題がある模様。Finderのサイドバーで、Samba接続なのに「CRT」アイコンでなく「Cinema Display」アイコンになったりする。netatalk接続なのかsamba接続か分からないのでsambaのNetBios名を変更する。
/etc/samba/smb.conf
netbios name = hogepage_samba
7.Time Machine用ボリュームの設定
/usr/local/netatalk/etc/netatalk/AppleVolumes.defaultに以下追加
~/TimeMachine "Time Machine" options:usedots,upriv,tm
8.MacのTime Machineの設定
以下参考にした。
http://blog.fiilse.com/2008/04/timemachine.html
ターミナルから以下を実行。
defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1
これを行うことで、Time Machine設定時にnetatalkサーバを選択することができる。
※netatalk-2.0.5rc1はTimeMachineに対応しているため、上記は必要ありませんでした。HAT様コメントありがとうございますm(_ _)m
9.Time Machineに使用する容量指定
2009-11-17追記:
アプリケーション→ユーティリティ→ディスクユーティリティでTimeMachineで使用するディスクの容量を制限できるという情報をどこかでみたのでやってみた。ファイル→ディスクイメージを開くを選んで、Time Machine/hoge.sparsebundleを開く。イメージサイズの変更を行ったが以下のエラーが発生し容量変更できなかった。
2009-11-18 03:02:17 +0900: “hoge.sparsebundle”のサイズ変更は、エラー 22 のため失敗しました。引数が無効です
マウントしてパティーションのサイズ変更後にイメージサイズの変更を行ったら出来たっぽい??でもTimeMachineの設定画面上のディスクサイズは元のままだorz
250GBに設定したのでこのサイズを使用しきるまでは様子を見てみる。。
2010-08-31追記:
netatalk-2.1.3をインストールしなおした。
設定は2.0.5のときと変わらない。
ただし、/etc/init.d/netatalkのスクリプト中で、/etc/default/netatalkの設定内容を読み込むようになっているので以下を行った。
ln -s /usr/local/netatalk/etc/netatalk/netatalk.conf /etc/default/netatalk
また、ログを出力したいため、以下の設定を行った。
/usr/local/netatalk/etc/netatalk/afpd.conf
- -setuplog "default log_info /var/log/afpd.log"