Ubuntu 10.04にnetatalk 2.2alpha2インストール(バグ対応)[追記あり]
HATさんから、バグ対策パッチをいただきました。パッチを当てて、インストールしてみました。
現在のnetatalk-2.2alpha2には(alpha1も)、Debian系のLinuxで、atalkdが無いと、sudo service netatalk startしても、何も起きないというバグがあるとの事です。
いまDebian上で確認中なんですが、atalkdが存在しないと、
sudo service netatalk start
とやっても何も起動しないバグがあります。投稿: HAT | 2010年11月11日 (木) 23時10分
今回の方針は、次の通りです。
- パッチを当てて、再インストールのみ
- –enable-ddpをしない
大まかな、インストール手順は、次の通りです。
- 関連ツールインストール
- インストール済みのNetatalkを削除
- インストールに使ったディレクトリも削除(退避)する
- Netatalk本体インストール
- パッケージダウンロード&展開
- バグ対応(パッチ当て)
- configure
- make
- sudo make install
- Netatalk設定
工程1, 2については、次の記事を参考にしてください。
工程2で、make cleanを使わずに、パッケージを再展開しています。昔、netatalkとは違うパッケージで、make cleanがうまく行かなかった事があるので、再コンパイルの際は、いつもパッケージを再展開しています。
工程3に入ります。工程3-1も、上記の記事を参考にしてください。
工程3-2が、今回の対応箇所です。パッチは、次の物です。
ファイル名の指定箇所が、そのままでは使えなかったので、修正しました。次のファイルです。
パッチは、次の方法で当てます。パッチファイルが、~/Downloads/netatalk-2.2alpha2-patch0にある物とします。
$ cd $ cd work/netatalk/netatalk-2.2alpha2 $ patch -p 0 < ~/Downloads/netatalk-2.2alpha2-patch0
工程3-3です。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 (ユーザ認証ライブラリ置き場)
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: no 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-4は、コンパイルです。
$ cd $ cd work/netatalk/netatalk-2.2alpha2 $ make
記載を省略しますが、コンパイル後のバージョンも確認しています。次のコマンドで確認できます。
$ cd $ cd work/netatalk/netatalk-2.2alpha2 $ ./etc/afpd/afpd -V
工程3-5は、インストールです。
$ 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: No 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 mv netatalk netatalk-2.2alpha2.orig $ sudo cp -pr netatalk-2.2alpha1 netatalk
/etc/default/netatalk, /etc/netatalk/afpd.conf, /etc/netatalk/AppleVolumes.defaultの設定は、次の記事をご覧下さい。
設定が終わったら、起動します。
$ sudo service netatalk start Starting Netatalk services (this will take a while): cnid_metad afpd.
LepoardとSnow Leopardからつないでみました。それで気が付いたのですが、アイコンが変わるのですね。
Leopardだと、Time Capsuleみたいな感じです。
Snow Leopardだと、iMacみたいな感じです。
ここで、大問題を発見してしまいました。
作成したスクリーンショットのファイル(Leopard.png, SnowLoepard.png)を、Snow LeopardのFinderで、デスクトップフォルダからNetatalkのディスクにコピーしようとすると、次のエラーが出ます。
「予期しないエラーが起きたため、操作を完了できません(エラーコード -50)」が出ます。
ログファイル(/var/log/netatalk/afp.log)には、次のメッセージが残っていました。表示のため、改行を入れています。
Nov 17 22:17:14.431643 afpd[4035] {ea_sys.c:336} (E:AFPDaemon): sys_set_ea(SnowLeopard.png/com.apple.metadata:kMDItemIsScreenCapture): error: Operation not supported Nov 17 22:19:39.600362 afpd[4035] {ea_sys.c:336} (E:AFPDaemon): sys_set_ea(Leopard.png/com.apple.metadata:kMDItemIsScreenCapture): error: Operation not supported
どういうときに、この現象が起きるかを確認してみました。変な英語ですが、ご参考用に書いてみました。
- 新規フォルダの作成はできました。(Snow Leopard)
It is O.K. to create a new folder in Snow Leopard. - netatalk側の同じフォルダ内で、ファイルやフォルダの複製はできました。(Snow Leopard)
It is O.K. to copy a file or folder in Snow Leopard. - ローカルディスクにあるスクリーンショット以外のファイルは、netatalk側にコピーできました。(Snow Leopard)
It is O.K. to copy files in Snow Leopard which are not screen shots. - コピーできるファイルと、できないファイルがあるようです。(Snow Leopard)
Some file (screen shot) can copy from local disk to netatalk disk. But specific files can not copy from Local disk to netatalk disk. - Snow Leopardではコピーできないファイル(スクリーンショット)を、Leopardでは普通にコピーできていました。
The specific files (screen shot) that can not copy in Snow Leopard, but the files can copy in Leopard. - 2.2alpha1, 2.1.4でも、同様の結果となりました。やはり、特定のファイルでエラーになります。(Snow Leopard)
2.2alpha1 and 2.1.4 get same results. The specific files cause error in Snow Lopard.
コピーできるファイルと、コピーできないファイルで、何が違うのか想像できません。今の所、コピーできないファイルは、スクリーンショットのみです。
LeopardではOKで、Snow LeopardではNGです。また、ログファイルのメッセージからすると、EA関係でしょうか? EA関係は、Frank Lahmさんですよね?
こんな所でのバグ報告で、申し訳ありません。週末まで、時間が取れないと思います。
HATさん、よろしくお願いします。
(追記 2010-11-20 22:19)
Snow Leopardで、ファイルがコピーできない原因は、Ubuntu側で、ファイルシステムに拡張属性を有効にしていないためでした。
拡張属性を有効にした所、無事にコピーできる様になりました。
Netatalkを疑ってしまって、申し訳ありませんでした。
ディスカッション
ファイルシステムの拡張属性は有効になってますか?
http://bibo-log.blog.so-net.ne.jp/2010-03-01
Leopardでサーバアイコンが違うというのは、把握してませんでした。
単なる勘ですが、Avahiの宣伝内容によってアイコンが変わるのかもしれません。
afpd.confにて-nozeroconfオプションを設定して、afp.serviceやadisk.serviceを復活させるとどうなりますかね。
Leopardをインストールしたハードディスクがどこいったか見つからん。
かつてLeopardで確認したときは、普通のアイコンだった。間違いない。
http://hatx.blog.so-net.ne.jp/2007-10-30
http://hatx.blog.so-net.ne.jp/2008-10-07
HATさんへ、いつもコメントありがとうございます。
ファイルシステムの拡張属性については知りませんでした。確認してみます。
アイコンの件は、Avahiの設定も含め、もう一度確認してみたいと思います。
そう思っているうちに、alpha3が出ましたね。こちらも試してみたいと思います。
HATさんへ、確認してみました。
ファイルシステムの拡張属性が、有効になっていませんでした。有効にした所、無事コピーできる様になりました。
http://oichinote.com/plus/2010/11/ubuntu-1004-b71.html
Netatalkを疑ってしまって、申し訳ありませんでした。
Avahiの件を確認しました。
afpd.confにて-nozeroconfオプションを設定して、afp.serviceとadisk.serviceを復活させせました。
結局、TimeCapsuleみたいなアイコンでした。変化無しです。
私のLeopardがおかしいのでしょうか…。
なお、device_info.serviceは、作っていません。