netatalk 2.1beta1 試してみました♪ [Netatalk]
せっかくnetatalk2.0.5を入れたばかりですが、「もう古い!」と
言われてしまいましたので(笑)、2.1beta1を試してみました。
ubuntu9.10でのnetatalk2.1beta1インストールメモです♪
debパッケージは用意されていないので、ソースをコンパイルしなくてはなりません。。
開発環境を入手
# apt-get install build-essential
必要なライブラリたちを入手
Libgcryptのconfigure時に「Libgpg-errorがないよ」と怒られるので、
Libgpg-error も入手。
これらを /usr/local/src あたりにおいて展開して、makeします。
# tar xjvf libgpg-error-1.7.tar.bz2
# cd libgpg-error-1.7/
# ./configure
# make
# make check
# make install
# tar xjvf libgcrypt-1.4.5.tar.bz2
# cd libgcrypt-1.4.5/
# ./configure
# make
# make check
# make install
# tar zxvf db-4.8.26.tar
# cd db-4.8.26/build_unix/
# ../dist/configure
# make
# make install
と、ここで。
OpenSSLも入手して入れておいたのですが..
--
-L/usr/local/src/netatalk-2.1beta1/libatalk -L/usr/local/ssl/lib64 -L/usr/local/ssl -lcrypto
/usr/bin/ld: cannot find -lcrypto
collect2: ld returned 1 exit status
make[3]: *** [afppasswd] Error 1
make[3]: Leaving directory `/usr/local/src/netatalk-2.1beta1/bin/afppasswd'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/usr/local/src/netatalk-2.1beta1/bin'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/src/netatalk-2.1beta1'
make: *** [all] Error 2
--
こんな感じでnetatalkのmakeが通らないのですが、
調べてみると、もともとubuntuにopensslが入っているようなので、
libssl-dev を追加でインストールします。
で、もともと入っていた方のopensslを使うことにします。
# といいますか、そうしないと、makeが通らないので。。
# apt-get install libssl-dev
netatalk2.1beta1もここから入手。
# tar zxvf netatalk-2.1beta1.tar
# cd netatalk-2.1beta1/
# ./configure --enable-debian --with-bdb=/usr/local/BerkeleyDB.4.8
参考までに、結果の「using libraries」を掲載しておきます。
configureがうまくいかないときの参考まで。
--
Using libraries:
LIBS = -L$(top_srcdir)/libatalk
CFLAGS = -I$(top_srcdir)/include -D_U_="__attribute__((unused))" -g -O2 -I$(top_srcdir)/sys
SSL:
LIBS = -L/usr/lib64 -lcrypto
CFLAGS = -I/usr/include/openssl
LIBGCRYPT:
LIBS = -L/usr/local/lib -lgcrypt -lgpg-error
CFLAGS = -I/usr/local/include
BDB:
LIBS = -L/usr/local/BerkeleyDB.4.8/lib -ldb-4.8
CFLAGS = -I/usr/local/BerkeleyDB.4.8/include/
Configure summary:
Install style:
debian
AFP:
AFP 3.x calls activated: yes
Large file support (>2GB) for AFP3: yes
Extended Attributes: files | native
DDP enabled: yes
CNID:
backends: dbd last tdb
UAMS:
DHX ( SHADOW)
DHX2 ( SHADOW)
RANDNUM ( SHADOW)
passwd ( SHADOW)
guest
Options:
CUPS support: no
SLP support: no
tcp wrapper support: no
quota support: yes
admin group support: yes
valid shell check: yes
cracklib support: no
dropbox kludge: no
force volume uid/gid: no
Apple 2 boot support: no
ACL support: no
--
うまくいかないときは、
SSL:
LIBS = -L/usr/local/ssl/lib64 -L/usr/local/ssl -lcrypto
などとなっていました。
話をもどして、、
# make
# make install
あと、avahiも入れておきます。
# apt-get install avahi-daemon
あとは netatalkの設定です。
# vi /usr/local/etc/netatalk/AppleVolumes.default
最終行に以下を追記します。
:DEFAULT: maccharset:MAC_JAPANESE volcharset:UTF8 options:usedots,upriv cnidscheme:dbd
/dev/shm "ramdisk" allow:nao cnidscheme:dbd
/st1/nao "nao" allow:nao cnidscheme:dbd
# 最初はオプションに ea:sys も入れておいたのですが、ファイルのコピーに
# 失敗することがあるので、消しました。
# この設定でも、ファルシステムが拡張属性をサポートしていないので、ログには
# volume "nao" does not support Extended Attributes, using ea:ad instead
# と。
# vi /usr/local/etc/netatalk/afpd.conf
最終行に以下を追記します。
-tcp -uamlist uams_dhx2.so -nosavepassword\
-maccodepage MAC_JAPANESE -unixcodepage UTF8
# vi /etc/default/netatalk
以下のように修正
ATALK_MAC_CHARSET='MAC_JAPANESE'
ATALK_UNIX_CHARSET='UTF8'
ATALKD_RUN=no
PAPD_RUN=no
CNID_METAD_RUN=yes
AFPD_RUN=yes
TIMELORD_RUN=no
A2BOOT_RUN=no
こちらのファイルは新規作成。
# vi /etc/avahi/services/afpd.service
以下の内容を書き込みます。
<?xml version="1.0" standalone='no'?>
<!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>
設定は以上。
そして、サービスを再起動。
# /etc/init.d/avahi-daemon restart
# /etc/init.d/netatalk restart
つながった〜
一応、
# /usr/local/sbin/afpd -V
afpd 2.1beta1 - Apple Filing Protocol (AFP) daemon of Netatalk
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; either version 2 of the License, or (at your option) any later
version. Please see the file COPYING for further information and details.
afpd has been compiled with support for these features:
AFP3.x support: Yes
Transport layers: TCP/IP DDP
CNID backends: dbd last tdb
SLP support: No
TCP wrappers support: No
Quota support: Yes
Admin group support: Yes
Valid shell checks: Yes
cracklib support: No
Dropbox kludge: No
Force volume uid/gid: No
afpd.conf: /usr/local/etc/netatalk/afpd.conf
AppleVolumes.system: /usr/local/etc/netatalk/AppleVolumes.system
AppleVolumes.default: /usr/local/etc/netatalk/AppleVolumes.default
UAM search path: /usr/local/etc/netatalk/uams/
Server messages path: /usr/local/etc/netatalk/msg/
試しに、iMacからファイルサーバにafpでつなで、
test.txt なるファイルをコピーしたところ、以前のようにコピー先の
ディレクトリに ._test.txt が作られることはなくなりました。
また、.AppleDouble にも ._test.txt は作られず、代わりに、
test.txt test.txt::EA test.txt::EA::com.apple.TextEncoding
なるファイルが作られていました。
もとのディレクトリのtest.txtを削除すれば、ちゃんと.AppleDoubleの
ファイルたちも消えてなくなります。
ちなみに、netatalk2.1beta1のパフォーマンスは2.0.5と同程度で
特に向上も、低下もしていない様子です。たぶん。