Ubuntu 10.04にnetatalk 2.2.3をインストール

2012年5月23日netatalk

netatalk 2.2.3がリリースされたので、インストールしました。

  1. インストール済みのNetatalkを削除
  2. 関連ツールインストール
  3. Netatalk本体インストール
    1. パッケージダウンロード&展開
    2. configure
    3. make
    4. sudo make install
  4. Netatalk設定
  5. 動作確認

1. インストール済みのNetatalkを削除

まず、古いパッケージを消します。

前のnetatalkをどうやってインストールしていたかによって違います。

Ubuntu標準のnetatalkでインストールした場合は、Synapticパッケージ・マネージャや、apt-getでアンインストールしてください。

次の様な手順で、自分でdpkgを作った場合は、dpkgでアンインストールしてください。

必要に応じて、設定ファイルはバックアップしておいてください。

  • /etc/init.d/netatalk
  • /etc/default/netatalk
  • /etc/netatalk/afpd.conf
  • /etc/netatalk/AppleVolumes.default

2. 関連ツールインストール

次のツールがインストールされている必要があります。

$ sudo apt-get install libdb4.8-dev (CNIDの管理のために必要。4.6以上ならOK)
$ sudo apt-get install libgcrypt11-dev (uams_dhx2.soを使う時に必要)
$ sudo apt-get install libavahi-client-dev (Zeroconfのために必要)

今まで、SLPサポートも入れてきたのですが、使わないのでやめました。私のブログを参考にしている方も、入れる必要が無いのにSLPを入れているようですので。

LDAP/ACLサポートのために、追加で必要になるパッケージもインストールします。ACLに対応させないなら不要です。

$ sudo apt-get install libldap2-dev (LDAPのために必要)
$ sudo apt-get install libacl1-dev (ACLのために必要)

ACLに対応させるには、Ubuntu側/Mac OS X側もLDAPに対応させなければならないので、非常に困難です。次の記事をご覧下さい。

記事を書いていませんが、Mac OS XでもLDAPを利用してログインできるようにしておく必要があります。かなり面倒です。私が参考にしたウェブサイトがどこだったか、調べられません…。ブックマークしてあったはずなのに。

これだけの設定をしているのですが、まだ不完全なようです。私の環境では、Mac OS XでACLを使えません。原因調査中です。

以上のツールは、今までnetatalkを使っていたなら、既にインストールされているかもしれませんが、確認しておいてください。

3. Netatalk本体インストール

作業は、~/work/netatalkでする事にします。

cd
mkdir work
cd work
mkdir netatalk
cd netatalk

以下の説明では、このディレクトリで作業している物とします。

3.1 パッケージダウンロード&展開

$ wget http://sourceforge.net/projects/netatalk/files/netatalk/2.2.3/netatalk-2.2.3.tar.bz
$ tar xvjf netatalk-2.2.3.tar.bz
$ cd netatalk-2.2.3

3.2 configure

$ ./configure --enable-debian \ (UbuntuはDebian系なので)
> --prefix=/usr \ (できたファイルは/usr以下に置く)
> --with-pkgconfdir=/etc/netatalk \ (設定ファイル置き場)
> --with-uams-path=/usr/lib/netatalk (ユーザ認証ライブラリ置き場)

最後に、summaryがでます。

Using libraries:
    LIBS = -lpthread -ldl  -L$(top_srcdir)/libatalk
    CFLAGS = -I$(top_srcdir)/include -D_U_="__attribute__((unused))" -g -O2 -I$(top_srcdir)/sys
    SSL:
        LIBS   =  -lcrypto
        CFLAGS =  -I/usr/include/openssl
    LIBGCRYPT:
        LIBS   = -lgcrypt
        CFLAGS =
    PAM:
        LIBS   =  -lpam
        CFLAGS =
    WRAP:
        LIBS   = -lwrap
        CFLAGS =
    BDB:
        LIBS   =  -ldb-4.8
        CFLAGS =
    CUPS:
        LIBS   = -lcups -lgssapi_krb5 -lgnutls -lz -lpthread -lm -lcrypt
        CFLAGS =
    ZEROCONF:
        LIBS   =  -lavahi-common -lavahi-client
        CFLAGS =  -D_REENTRANT
Configure summary:
    Install style:
         debian
    AFP:
         Large file support (>2GB) for AFP3: yes
         Extended Attributes: ad | sys
    CNID:
         backends:  dbd last tdb
    UAMS:
         DHX     (PAM SHADOW)
         DHX2    (PAM SHADOW)
         RANDNUM (afppasswd)
         clrtxt  (PAM SHADOW)
         guest
    Options:
         DDP (AppleTalk) support: no
         SLP support:             no
         Zeroconf support:        yes
         tcp wrapper support:     yes
         quota support:           yes
         admin group support:     yes
         valid shell check:       yes
         cracklib support:        no
         dropbox kludge:          no
         force volume uid/gid:    no
         ACL support:             yes
         LDAP support:            yes

3.3 make

$ make
$ ./etc/afpd/afpd -V
afpd 2.2.3 - 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:

          AFP versions:	2.2 3.0 3.1 3.2 3.3
DDP(AppleTalk) Support:	No
         CNID backends:	dbd last tdb
           SLP support:	No
      Zeroconf support:	Avahi
  TCP wrappers support:	Yes
         Quota support:	Yes
   Admin group support:	Yes
    Valid shell checks:	Yes
      cracklib support:	No
        Dropbox kludge:	No
  Force volume uid/gid:	No
            EA support:	ad | sys
           ACL support:	Yes
          LDAP support:	Yes

             afpd.conf:	/etc/netatalk/afpd.conf
   AppleVolumes.system:	/etc/netatalk/AppleVolumes.system
  AppleVolumes.default:	/etc/netatalk/AppleVolumes.default
    afp_signature.conf:	/etc/netatalk/afp_signature.conf
      afp_voluuid.conf:	/etc/netatalk/afp_voluuid.conf
         afp_ldap.conf:	/etc/netatalk/afp_ldap.conf
       UAM search path:	/usr/lib/netatalk/
  Server messages path:	/etc/netatalk/msg/
              lockfile:	/var/lock/afpd

3.4 sudo make install

$ sudo make install

4. Netatalk設定

設定するのは、次のファイルです。

  • /etc/default/netatalk
  • /etc/netatalk/afpd.conf
  • /etc/netatalk/AppleVolumes.default

/etc/default/netatalk

変更するのは、次の部分です。

ATALK_UNIX_CHARSET='UTF8'
ATALK_MAC_CHARSET='MAC_JAPANESE'
CNID_CONFIG="-l LOG_NOTE -f /var/log/netatalk.log"

/etc/netatalk/afpd.conf

次の設定を一行で書きます。

- -tcp -noddp -uamlist uams_guest.so,uams_dhx2.so -maccodepage MAC_JAPANESE -unixcodepage UTF8

/etc/netatalk/AppleVolumes.default

:DEFAULT:を書き換えます。

:DEFAULT: options:upriv,usedots cnidscheme:dbd dperm:0700 fperm:0600 ea:sys

マウントさせるディスクを宣言します。TimeMachineのボリューム名に、non-ASCIIも扱えるようになったので、試してみました。

~/                      "Home Directory"
/home/u_capsule "私のタイムマシーン" options:tm volsizelimit:1024

5. 動作確認

OS X 10.7.4 Lionで、動作確認しました。

  • Finderから、サーバが見えるか? … OK
  • フォルダを作れるか? … OK
  • ファイルをコピーできるか? (Mac→Ubuntu、Ubuntu→Mac) … OK
  • ファイルのパーミッションとタイムスタンプはどうか? … OK
  • 拡張属性はついているか? … OK
  • ファイル名の確認(日本語、禁止文字、長いファイル名) … OK
  • TimeMachineでバックアップ動作するか? … OK

大丈夫そうです。

なお、次のウェブサイトを参考にしています。ありがとうございます。

Posted by お市のかた