Ubuntu 10.04にnetatalk 2.2alpha2インストール

netatalk,パソコン・インターネット

netatalk2.2alpha2がリリースされました。昨日インストールしたのですが、風邪気味で早く寝たので、記事を完成させることができませんでした。

今回の方針は、次の通りです。

  • 今までにインストールされていたnetatalkを消す
  • 基本的なインストール方針は、今までやってきた方法と同じ
  • 設定ファイルは、新規インストール

インストール方法は、次の手順を参考にしました。ありがとうございます。

全体のインストール手順を大まかに書くと、次の様になります。

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

まずは、工程1の、関連ツールのインストールです。すでにインストール済みでしたら、必要ありません。

$ sudo apt-get install libdb4.8-dev (CNIDの管理のために必要)
$ sudo apt-get install libssl-dev (uams_dhx.soを使う時に必要)
$ sudo apt-get install libgcrypt11-dev (uams_dhx2.soを使う時に必要)
$ sudo apt-get install libslp-dev (SLPのために必要)
$ sudo apt-get install uuid-dev (TimeMachineのために必要)
$ sudo apt-get install libavahi-client-dev (Zeroconfのために必要)

工程2のNetatalkの削除です。netatalk 2.1.4とnetatalk 2.2alpha1がインストールされている物とします。サービスの停止、設定ファイルのバックアップ、アンインストールをします。

$ sudo service netatalk stop (サービスの停止)
$ cd /etc/default
$ sudo mv netatalk .netatalk-2.2alpha1 (設定ファイルの退避)
$ cd /etc
$ sudo mv netatalk netatalk-2.2alpha1 (設定ファイルの退避)
$ cd
$ cd work/netatalk/netatalk-2.1.4
$ sudo make uninstall (2.1.4のアンインストール)
$ cd work/netatalk/netatalk-2.2alpha1
$ sudo make uninstall (2.2alpha1のアンインストール)

2.1.4と2.2alpha1の両方でuninstallを実行しているのは、両方のインストール結果を消すためです。実際、/usr/sbin/atalkdを消すために、2.1.4でのuninstallが必要でした(2.2alpha1では、atalkdをインストールしなかったため対象外になっていると思われます)。

工程3のnetatalk本体のインストールです。

工程3.1です。パッケージをダウンロードします。次のリンクをたどって、Firefoxなどでダウンロードして下さい。

次に、パッケージを展開します。ダウンロードしたパッケージが、~/Downloadsにある物とします。また、作業ディレクトリは、~/work/netatalkとします。

$ cd
$ cd work/netatalk
$ tar xvzf ~/Downloads/netatalk-2.2alpha2.tar.gz

次の工程、3-2です。configureします。

$ cd
$ cd work/netatalk/netatalk-2.2alpha2
$ ./configure --enable-debian \ (UbuntuはDebian系なので)
> --enable-srvloc \ (SLPのために必要)
> --prefix=/usr \ (できたファイルは/usr以下に置く)
> --with-pkgconfdir=/etc/netatalk \ (設定ファイル置き場)
> --with-uams-path=/usr/lib/netatalk \ (ユーザ認証ライブラリ置き場)
> --enable-ddp (AppleTalkサポート)

SLPに対応させている(–enable-srvloc)のは、我が家に、Mac OS 9.2.2(Performa 5420)が一台残っているからです。でも、ここ何年かPerformaを使っていないので、SLPに対応させるのは、意味が無いかもしれません。

–enable-zeroconfを指定しなくても、Zeroconfは自動的に有効になる様です(必要なパッケージがインストールされていれば)。

–enable-ddpしているのは、バグ回避のためです。

いまDebian上で確認中なんですが、atalkdが存在しないと、
sudo service netatalk start
とやっても何も起動しないバグがあります。

投稿: HAT | 2010年11月11日 (木) 23時10分

次に示すのは、configureの結果です。

Using libraries:
    LIBS = -luuid -lpthread  -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 =
    BDB:
        LIBS   =  -ldb-4.8
        CFLAGS =
    SRVLOC:
        LIBS   =  -lslp
        CFLAGS =
Configure summary:
    Install style:
         debian
    AFP:
         AFP 3.x calls activated: yes
         Large file support (>2GB) for AFP3: yes
         Extended Attributes: ad | sys
    CNID:
         backends:  dbd last tdb
    UAMS:
         DHX     ( SHADOW)
         DHX2    ( SHADOW)
         RANDNUM ( SHADOW)
         passwd  ( SHADOW)
         guest
    Options:
         DDP (AppleTalk) support: yes
         CUPS support:            no
         SLP support:             yes
         Zeroconf support:        yes
         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

工程3-3です。コンパイルします。

$ cd
$ cd work/netatalk/netatalk-2.2alpha2
$ make

netatalk2.2alpha1の時の、コンパイル時のエラーは無くなりました。パッチを当てなくても、そのままコンパイルできます。

インストールする前に、バージョンを確認しておいた方が良いと思います。バージョンだけではなく、各種ファイルがどこに置かれるかも記載されています。

$ cd
$ cd work/netatalk/netatalk-2.2alpha2
$ ./etc/afpd/afpd -V
afpd 2.2alpha2 - 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
        TCP/IP Support:	Yes
DDP(AppleTalk) Support:	Yes
         CNID backends:	dbd last tdb
           SLP support:	Yes
      Zeroconf support:	Yes
  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
           ACL support:	No
            EA support:	ad | sys
          LDAP support:	No
             afpd.conf:	/etc/netatalk/afpd.conf
    afp_signature.conf:	/etc/netatalk/afp_signature.conf
   AppleVolumes.system:	/etc/netatalk/AppleVolumes.system
  AppleVolumes.default:	/etc/netatalk/AppleVolumes.default
       UAM search path:	/usr/lib/netatalk/
  Server messages path:	/etc/netatalk/msg/

正しくできている様です。

工程3-4です。インストールします。

$ sudo service netatalk stop
$ cd
$ cd work/netatalk/netatalk-2.2alpha2
$ sudo make install

念のために、インストールされたバージョンを確認します。

$ /usr/sbin/afpd -V
afpd 2.2alpha2 - 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
        TCP/IP Support:	Yes
DDP(AppleTalk) Support:	Yes
         CNID backends:	dbd last tdb
           SLP support:	Yes
      Zeroconf support:	Yes
  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
           ACL support:	No
            EA support:	ad | sys
          LDAP support:	No
             afpd.conf:	/etc/netatalk/afpd.conf
    afp_signature.conf:	/etc/netatalk/afp_signature.conf
   AppleVolumes.system:	/etc/netatalk/AppleVolumes.system
  AppleVolumes.default:	/etc/netatalk/AppleVolumes.default
       UAM search path:	/usr/lib/netatalk/
  Server messages path:	/etc/netatalk/msg/

大丈夫な様です。

工程4です。各種設定をします。

$ cd /etc/default
$ sudo mv netatalk .netatalk-2.2alpha2.orig
$ sudo cp -p .netatalk-2.2alpha1 netatalk
$ cd /etc
$ sudo cp -pr netatalk netatalk-2.2alpha2.orig
$ sudo cp -p netatalk-2.2alpha1/* netatalk

/etc/default/netatalk, /etc/netatalk/afpd.conf, /etc/netatalk/AppleVolumes.defaultの設定は、次の記事をご覧下さい。

configureで–enable-ddpを設定したので、/etc/netatalk/atalkd.conf, /etc/netatalk/papd.confができています。これらのファイルには、何も修正を加えませんでした。コメント行しかありません。

設定が終わったら、起動します。

$ sudo service netatalk start

Snow Leopardから接続しました。avahi-daemonの設定をしなくても、ちゃんと、サーバが見えます。Time Machineからも見えました。

最初、configureで–enable-ddpを設定せずにインストールしました。sudo service netatalk startを実行しても、何も起きませんでした。メッセージも表示されません。

atalkdが無い場合の問題だそうですので、configureで–enable-ddpを設定して、インストールしてみました。無事起動するようになりました。

バグ解決にはご協力できていませんが、現象の確認はできました。

【関連記事】

Posted by お市のかた