RSS | ATOM
netatalkをアップデートして使う
以前はnetatalkをapt-get でインストールしてそのまま使用していたが、バージョンが古いので新しくしようと思った・・・その記録

色々なサイトで調べていると、samba 3.xとnetatalk 2.xの組み合わせが良いようだ
(netatalk 2.xとsamba 3.xは共にUnicodeベースだからだそうだ)
また、netatalk1.xはOSXから31文字を超えるファイル名が使えなかったが、2.xからは使用可能だそうだ・・

というわけで、前回はsamba3.xをインストールしたので、今回はnetatalk
「netatalk 2.x and samba 3.x」というサイトを参考にさせていただきました
ここでひとつ問題がある・・
netatalk 1.xで使用していた場合、netatalk 2.xと文字コードの互換性が無いので、一旦、どこかにデータを退避する必要がある
データを変換する方法もあるにはあるが、一旦退避する方が安全かつ確実なので、退避する

次に、今、使用しているnetatalkをアンインストールする
# rpm -qa netatalk
で、インストールされているnetatalkを調べ、
# rpm -e netatalk-x.x.x
としてアンインストールする
(この方法でアンインストールできると思うのだが・・・)

◎ 新しいnetatalkのインストールに必要なもの
・Berkeley DB(db-4.2.52.tar.gz)
・netatalk-2.0.3.tar.gz
・netatalk-2.0.3-cjk-2.patch
(このパッチを当てるとMAC_JAPANESEという設定をできます。当てなければSHIFT_JISにしなければいけない)

◎ ダウンロード(いつものように/rootに)
# cd /root
# wget http://download-west.oracle.com/berkeley-db/db-4.2.52.tar.gz
# wget http://jaist.dl.sourceforge.net/sourceforge/netatalk/netatalk-2.0.3.tar.gz
# wget http://www003.upp.so-net.ne.jp/hat/files/netatalk-2.0.3-cjk-2.patch.gz

◎Berkeley DBのインストール
もっと新しいバージョンも存在するが、netatalkのバージョンにあったものでなければエラーで弾かれるので、ここに書き込んだバージョンのものが良いかも
# cd /root
# tar zxvf db-4.2.52.tar.gz
# cd db-4.2.52
# cd build_unix
# ../dist/configure
# make
# make install
エラーは出ないでインストールできると思う・・・

◎netatalkの展開
# cd /root
# tar vxfz netatalk-2-1.0.3.tar.gz
パッチを当てないとエラーになるので・・・

◎パッチを当てる
# cd /root
# gunzip netatalk-2.0.3-cjk-2.patch.gz
# cd /netatalk-2.0.3
# patch -p1 < /root/netatalk-2.0.3-cjk-2.patch

◎netatalkのインストール
# cd /root/netatalk-2.0.3
# ./configure --with-shadow --with-ssl-dir=/usr/lib --with-bdb=/usr/local/BerkeleyDB.4.2 --enable-redhat
# make
# make install
インストールは終了

◎netatalkの設定(例)
ここでは簡単な例のみ説明する(ゲストアクセス可能)
・アクセスさせるフォルダで、アクセス権フリーにする
# mkdir /Hoge
# chmod 777 /Hoge

・ AppleVolumes.default(最後の行に1行で追加)
/Hoge "Hoge" options:usedots cnidscheme:dbd maccharset:MAC_JAPANESE volcharset:UTF8 veto:/lost+found/
(/Hogeというフォルダを"Hoge"という名称でアクセスする)

・ netatalk.conf(以下の設定に修正)
# Change this to increase the maximum number of clients that can
# connect:
AFPD_MAX_CLIENTS=30
# specify the Mac and unix charsets to be used
ATALK_MAC_CHARSET='MAC_JAPANESE'
ATALK_UNIX_CHARSET='EUC-JP'
# Change this to set the id of the guest user
AFPD_GUEST=nobody
# Set which daemons to run (papd is dependent upon atalkd):
ATALKD_RUN=yes
PAPD_RUN=no
CNID_METAD_RUN=yes
AFPD_RUN=yes
TIMELORD_RUN=no
A2BOOT_RUN=no
# Control whether the daemons are started in the background
ATALK_BGROUND=no
# export the charsets, read form ENV by apps
export ATALK_MAC_CHARSET
export ATALK_UNIX_CHARSET

・ afpd.conf(以下の行を最後の1行に追加)
Hoge -transall -uamlist uams_clrtxt.so,uams_dhx.so,uams_guest.so -guestname nobody -maccodepage MAC_JAPANESE -unixcodepage EUC-JP

最後の設定に関しては、ネットで探すと詳しいサイトが沢山あるので、そちらを参照
author:ino, category:netatalk, 18:51
comments(2), trackbacks(1), pookmark
Comment
cjkパッチ以外の、他のパッチも当てておいた方がいいと思います。転ばぬ先の杖ということで。
あと、netatalk.confに
CNID_METAD_RUN=yes
が入ってませんが、これでもいいんだっけ?(未確認)
HAT, 2007/02/02 12:49 AM
あ、ホントだ・・・
CNID_METAD_RUN=yes
が抜けていますね・・・
A2BOOT_RUN=no
も抜けです

ご指摘、ありがとうございます
管理者, 2007/02/05 6:01 PM









Trackback
url: http://linux.d-tecs.com/trackback/456253
共有するディレクトリのアクセス権
共有するディレクトリのアクセス権をUNIX側でどう設定すべきなのか、今ひとつ良くわからない。 ユーザ毎にプライベートなスペースを与える場合、 chmod 700 がいいと思うんですよ。 afpでhtmlをアップロードすると、それが各ユーザのホームページとして公開される
HAT, 2007/02/06 12:27 AM