SSブログ
エステ

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と同程度で
特に向上も、低下もしていない様子です。たぶん。


この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。