Ubuntu 10.04にnetatalk 2.2beta1インストール[追記・訂正あり]
netatalk 2.2beta1がリリースされました。インストールしてみました。一応、ACL対応でコンパイルしたのですが、不完全です。
本当は、やっと時間が取れたので、alpha5をインストールしようとしたら、beta1がリリースされていました。
インストールは、次の記事を参考にしています。HATさん、ありがとうございます。
大まかな、インストール手順は、次の通りです。他のパッケージを、ソースからビルドするのと、同じ手順です。
- 関連ツールインストール
- インストール済みのNetatalkを削除
- Netatalk本体インストール
- パッケージダウンロード&展開
- configure
- make
- sudo make install
- Netatalk設定
- 動作確認
前回と同じパターンです。次の記事を参考にして下さい。
- Ubuntu 10.04にnetatalk 2.2alpha4インストール: プラスα空間
- Ubuntu 10.04にnetatalk 2.2alpha4インストール(ACL対応でコンパイル): プラスα空間
工程1です。以前は、uuid-devが必要でしたが、不要になりました。(HATさんからの情報です。)
$ 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 libavahi-client-dev (Zeroconfのために必要)
LDAP/ACLサポートのために、追加で必要になるパッケージもインストールします。
$ sudo apt-get install libldap2-dev (LDAPのために必要) $ sudo apt-get install libacl1-dev (ACLのために必要)
ACLに対応させないなら不要です。ACLに対応させるには、Ubuntu側/SnowLeopard側もLDAPに対応させなければならないので、非常に困難です。次の記事をご覧下さい。
工程2は、上記と同じですので省略します。
設定ファイルは、あらかじめmvで退避して置きます。アンインストールの前に、sudo service netatalk stopで、サービスを停止しておいて下さい。
$ cd /etc/default $ sudo mv netatalk .netatalk.old $ cd /etc $ sudo mv netatalk netatalk.old
工程3に入ります。工程3-1も、上記の記事を参考にしてください。ダウンロードするパッケージは、2.2beta1 (gzip)です。お好みに応じて、(bzip2)をお使い下さい。
現在、ダウンロードしづらくなっているかもしれません。私は、何回かダウンロードして、成功しました。
パッケージは、~/work/netatalkで展開しています。
工程3-2です。configureします。
$ cd $ cd work/netatalk/netatalk-2.2beta1 $ ./configure --enable-debian \ (UbuntuはDebian系なので) > --enable-srvloc \ (SLPのために必要) > --prefix=/usr \ (できたファイルは/usr以下に置く) > --with-pkgconfdir=/etc/netatalk \ (設定ファイル置き場) > --with-uams-path=/usr/lib/netatalk (ユーザ認証ライブラリ置き場)
結果は、次の様になりました。
Using libraries: LIBS = -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: yes
次の工程3-3は、コンパイルです。
$ cd $ cd work/netatalk/netatalk-2.2beta1 $ make
工程3-4は、インストールです。
$ cd $ cd work/netatalk/netatalk-2.2beta1 $ sudo make install
インストールされたバージョンを確認します。
$ /usr/sbin/afpd -V afpd 2.2beta1 - 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: Yes EA support: ad | sys 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
工程4です。各種設定をします。
/etc/default/netatalkは、中身の変更があった様です。古い項目(legacy)が後ろの方にまとめられていました。
新しくインストールされた設定ファイルと、前回の設定ファイルとを比較して、違いを確認しておいた方が良いと思います。
$ cd /etc/default $ diff .netatalk.old netatalk $ cd /etc/netatalk $ diff ../netatalk.old/AppleVolumes.default AppleVolumes.default $ diff ../netatalk.old/AppleVolumes.system AppleVolumes.system $ diff ../netatalk.old/afpd.conf afpd.conf $ sudo cp -p ../netatalk.old/* .
/etc/default/netatalk, /etc/netatalk/afpd.conf, /etc/netatalk/AppleVolumes.defaultの設定は、次の記事をご覧下さい。
3です。各種設定をします。
$ cd /etc/default $ sudo vi netatalk $ cd /etc/netatalk $ sudo vi afpd.conf $ sudo vi AppleVolumes.default $ sudo vi afp_ldap.conf
/etc/default/netatalkには、オリジナルを書き直して、次の内容を設定しました。変更点のみ、列挙します。
ATALK_UNIX_CHARSET='UTF8' ATALK_MAC_CHARSET='MAC_JAPANESE' AFPD_UAMLIST="-U uams_guest.so,uams_dhx.so,uams_dhx2.so"
以前設定していた、ATALK_NAMEは設定不要になりました。
/etc/netatalk/afpd.confには、次の内容を設定しました。ログファイルを残すようにしてあります。
- -tcp -noddp -uamlist uams_guest.so,.so,uams_dhx.so,uams_dhx2.so \ -maccodepage MAC_JAPANESE -unixcodepage UTF8 \ -slp \ -setuplog "Default LOG_INFO /var/log/netatalk/default.log" \ -setuplog "Core LOG_INFO /var/log/netatalk/core.log" \ -setuplog "Logger LOG_INFO /var/log/logger.log" \ -setuplog "CNID LOG_INFO /var/log/netatalk/cnid.log" \ -setuplog "AFPDaemon LOG_INFO /var/log/netatalk/afp.log
(追記 2011-02-01 00:45 afpd.confは、一行で書かなければならないそうです。複数行に分ける場合は、\が必要です。コメントで、HATさんに教えていただきました。)
ログファイルの設定方法は、次の記事を参考にしています。ありがとうございます。
/etc/netatalk/AppleVolumes.defaultには、次の内容を設定しました。
:DEFAULT: options:upriv,usedots cnidscheme:dbd maccharset:MAC_JAPANESE
volcharset:UTF8 dperm:0700 fperm:0600 ea:sys (実際には1行)
/home/username "username" allow:@username deny:admin
/home/u_capsule "Ubuntu Capsule" options:tm volsizelimit:5000
/home/john "john" allow:john deny:admin
元々設定されていた"~"は、コメントアウトします。
/home/usernameは、ログインディレクトリです。
/home/u_capsuleは、Time Machineのバックアップ用です。volsizelimit:5000は、5GiBと言う事です。実態に合わせて変更してください。
/home/johnは、LDAPユーザです。
/etc/netatalk/afp_ldap.confを編集します。
ldap_server = localhost ldap_auth_method = simple ldap_auth_dn = cn=admin,dc=example,dc=com ldap_auth_pw = LDAP管理者のパスワード ldap_userbase = ou=people,dc=example,dc=com ldap_userscope = one ldap_groupbase = ou=groups,dc=example,dc=com ldap_groupscope = one ldap_uuid_attr = apple-generateduid ldap_name_attr = cn ldap_group_attr = cn
いよいよ、工程5に移ります。設定が終わったら、netatalkを起動します。
$ sudo service netatalk start Starting Netatalk services (this will take a while): cnid_metad afpd.
Mac OS X側での動作確認です。Mac OS Xは、Snow Leopard(10.6.6)です。
- Finderから、サーバが見えるか?
- フォルダを作れるか?
- ファイルをコピーできるか? (Mac→Ubuntu、Ubuntu→Mac)
- ファイルのパーミッションとタイムスタンプはどうか?
- 拡張属性はついているか?
- ファイル名の確認(日本語、禁止文字、長いファイル名)
- TimeMachineのディスクに表示されるか?
はじめ、ファイルが正しく見えませんでした。仕方が無いので、Ubuntu側で、.Apple*を削除したら、正常動作するようになりました。なんでだろう…。本当は、DBの確認をするべきなのですが、何もせずに消してしまいました。
その後は、全項目確認して、大丈夫でした。
ACL対応でコンパイルしてあるのですが、SnowLeopard側では、ACL対応として認識されませんでした。多分、LDAP周りだと思うのですが、不明です。
今回も、私の技量不足で、SnowLeopard側でACL対応にできなかったようです。不完全燃焼です。
【関連記事】
- PowerMac G4/MDDにUbuntu 9.10インストール[追記あり]: プラスα空間
- Ubuntu 9.10にnetatalk 2.1.2インストール[追記・訂正あり]: プラスα空間
- Ubuntu 9.10にavahiインストール[追記あり]: プラスα空間
- PowerMac G4/MDDにUbuntu 10.04インストール[追記あり]: プラスα空間
- Ubuntu 10.04にnetatalk 2.1.3インストール[追記・訂正あり]: プラスα空間
- Ubuntu 10.04にnetatalk 2.1.4インストール: プラスα空間
- Ubuntu 10.04にnetatalk 2.2alpha1インストール: プラスα空間
- Ubuntu 10.04にnetatalk 2.2alpha2インストール: プラスα空間
- Ubuntu 10.04にnetatalk 2.2alpha2インストール(バグ対応)[追記あり]: プラスα空間
- Ubuntu 10.04で拡張属性を有効にする: プラスα空間
- Ubuntu 10.04にnetatalk 2.2alpha3インストール: プラスα空間
- Ubuntu 10.04にnetatalk 2.2alpha4インストール: プラスα空間
- Ubuntu 10.04で、LDAPでログインできるようにする: プラスα空間
- Ubuntu 10.04でACLを有効にする: プラスα空間
- Ubuntu 10.04にnetatalk 2.2alpha4インストール(ACL対応でコンパイル): プラスα空間
- Ubuntu 10.04にnetatalk 2.2beta1インストール: プラスα空間
(訂正 2011-03-06 00:02)afpd.confの書き方を修正しました。
ディスカッション
そのafpd.confの書き方で本当に正常動作しているでしょうか。
afpd.confの書式は1サーバあたり一行です。
複数行にわけて書く場合は行末に「\」を付けます。
ログは本当に正常に吐かれてますか?
netatalk 2.2beta1 リリース
netatalk 2.2beta1がリリースされています。 アルファ版は結構ダウンロードされているものの、大したバグが報告されなくなったのでベータ版になりました。 netatalk – Browse /netatalk/2.2 at SourceForge.net リリースされたのは1/27ですが、ダウンロードサイト(SourceForge)が攻撃を受けたため、ダウンロード可能となるまで時間がかかりました。 現在も不安定なので、うまくダウンロードできない方は以下のミラーをお使いください。 http…
HATさんへ、いつもコメントありがとうございます。
afpd.confは、1サーバあたり1行ですか…。知らなかったです。
他のサイトの書き方を真似したのと、実際に動いているので、気にしていませんでした。
ログは、正常に吐かれていると思います。ログレベルを変更したら、ログの出方も変わりました。
afpd.confを直して確かめるのは、週末になると思います。
beta2でました。
HATさんへ、いつもコメントありがとうございます。
afpd.confのご指摘、ありがとうございます。結局、一ヶ月以上放っておいてしまって、申し訳ありません。
ログを見たところ、次のエラーが出ていました。
default.log:Mar 05 18:57:33.251200 afpd[1181] {afp_config.c:356} (E:AFPDaemon): main: dsi_init: Address already in use
default.log:Mar 05 18:57:33.263235 afpd[1181] {dsi_tcp.c:343} (I:DSI): dsi_tcp_init: bind: Address already in use
default.log:Mar 05 18:57:33.263324 afpd[1181] {dsi_tcp.c:343} (I:DSI): dsi_tcp_init: bind: Address already in use
afpd.confを修正した所、出なくなりました。
過去の記事の、afpd.confについても、訂正しておきました。
beta2のお知らせありがとうございます。インストールしました。よければ、次の記事をご覧下さい。
http://oichinote.com/plus/2011/03/ubuntu-1004neta.html