Ubuntu 10.04にnetatalk 2.2beta4インストール
netatalk 2.2beta4がリリースされましたので、インストールしました。
状況は、beta3の時と同じです。記事の内容も手抜き(ほとんど、前回からコピペ)です。ごめんなさい。
ACL設定に挑戦していますが、進捗はありません。前回と同じです。
インストールは、次の記事を参考にしています。HATさん、ありがとうございます。
大まかな、インストール手順は、次の通りです。他のパッケージを、ソースからビルドするのと、同じ手順です。
- 関連ツールインストール
- インストール済みのNetatalkを削除
- Netatalk本体インストール
- パッケージダウンロード&展開
- configure
- make
- sudo make install
- 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 libavahi-client-dev (Zeroconfのために必要)
SLPは、Mac OS X 10.2よりも古いOS(Mac OS 9とか)に、ファイルサーバを知らせる仕組みですので、通常は不要です。私は、Mac OS 9.2.2のMacを持っている(けど使っていない)ので、設定しています。
LDAP/ACLサポートのために、追加で必要になるパッケージもインストールします。
$ sudo apt-get install libldap2-dev (LDAPのために必要) $ sudo apt-get install libacl1-dev (ACLのために必要)
ACLに対応させないなら不要です。ACLに対応させるには、Ubuntu側/SnowLeopard側もLDAPに対応させなければならないので、非常に困難です。次の記事をご覧下さい。
本当は、これだけじゃなくて、netatalkでACLを使えるようにするには、Mac OS X側を、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.2-beta4 (gzip)または(bzip2)をお使い下さい。
パッケージは、~/work/netatalkで展開しています。今回も、bzip2を使いました。~/Downloadsにダウンロードした物を使っています。
$ cd $ mkdir work $ cd work $ mkdir netatalk $ cd netatalk $ tar xvjf ~/Downloads/netatalk-2.2-beta4.tar.bz2
工程3-2です。configureします。
$ cd $ cd work/netatalk/netatalk-2.2-beta4 $ ./configure --enable-debian \ (UbuntuはDebian系なので) > --enable-srvloc \ (SLPのために必要) > --prefix=/usr \ (できたファイルは/usr以下に置く) > --with-pkgconfdir=/etc/netatalk \ (設定ファイル置き場) > --with-uams-path=/usr/lib/netatalk (ユーザ認証ライブラリ置き場)
SLP(–enable-srvloc)は、Mac OS X 10.2よりも古いOS(Mac OS 9とか)に、ファイルサーバを知らせる仕組みですので、通常は不要です。
configureの結果は、次の様になりました。
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: 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.2-beta4 $ make
コンパイルが終わった後に、./etc/afpd/afpd -Vで、バージョンと各種設定ファイルがインストールされる場所を確認しておきます。
$ cd $ cd work/netatalk/netatalk-2.2-beta3 $ ./etc/afpd/afpd -V afpd 2.2-beta4 - 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
工程3-4は、インストールです。
$ cd $ cd work/netatalk/netatalk-2.2-beta4 $ sudo make install
念のため、インストールされたバージョンを確認します。
$ /usr/sbin/afpd -V afpd 2.2-beta4 - 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です。各種設定をします。
新しくインストールされた設定ファイルと、前回の設定ファイルとを比較して、違いを確認しておいた方が良いと思います。
$ 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/AppleVolumes.default, /etc/netatalk/afp_ldap.confの設定は、次の記事をご覧下さい。
/etc/netatalk/afpd.confには、次の内容を設定しました。かなりのログファイルを残すようにしてあります。2.2は、beta版ということとACLの挙動を見たいので、ログレベルを最大にしています。
- -tcp -noddp -uamlist uams_guest.so,.so,uams_dhx.so,uams_dhx2.so \
-maccodepage MAC_JAPANESE -unixcodepage UTF8 \
-slp \ (SLPを使う場合に指定)
-setuplog "Default log_maxdebug /var/log/netatalk/default.log" \
-setuplog "Core log_maxdebug /var/log/netatalk/core.log" \
-setuplog "Logger log_maxdebug /var/log/logger.log" \
-setuplog "CNID log_maxdebug /var/log/netatalk/cnid.log" \
-setuplog "AFPDaemon log_maxdebug /var/log/netatalk/afp.log"
SLP(-slp)は、Mac OS X 10.2よりも古いOS(Mac OS 9とか)に、ファイルサーバを知らせる仕組みですので、通常は不要です。
なお、上記の設定だと、ログファイルを置くディレクトリを作っておく必要があります。
$ sudo mkdir /var/log/netatalk
正直なところ、ログレベルを最大にしても、出てくるメッセージの意味がわかりません…。多分、ソースをわかっていないと、ログの意味がわからないのでしょう。
afpd.confは、一行または継続行で書かなければなりません。次の記事をご覧下さい。
普通の運用なら、次の設定で良いそうです。次の記事のコメント欄をご確認下さい。
ただし、Ubuntu(debian系)の場合は、netatalk.confではなく、/etc/default/netatalkになります。
/etc/netatalk/afp_ldap.confのテスト結果です。LDAP運用している場合のみ、必要です
$ afpldaptest -u john Start parsing afp_ldap.conf Finished parsing afp_ldap.conf afp_ldap.conf is ok. Using simple bind. Searching user: john User: john ==> UUID: FFFFEEEE-DDDD-CCCC-BBBB-AAAA000007D0
いよいよ、工程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.7)です。
- Finderから、サーバが見えるか?
- フォルダを作れるか?
- ファイルをコピーできるか? (Mac→Ubuntu、Ubuntu→Mac)
- ファイルのパーミッションとタイムスタンプはどうか?
- 拡張属性はついているか?
- ファイル名の確認(日本語、禁止文字、長いファイル名)
- TimeMachineのディスクに表示されるか?
全項目確認して、大丈夫でした。
ACLは、前回から進捗がありません。Snow Leopardでエラー無く設定できる物の、設定されていることがSnow Leopard側ではわかりません。
SnowLeopard$ cd SnowLeopard$ echo "aaa" > acl.txt SnowLeopard$ chmod +a "everyone deny delete" acl.txt
で、ls -leで見てみると、
SnowLeopard$ ls -le acl.txt -rw-r--r-- 1 john example 4 Mar 13 17:59 acl.txt
"+"マークが付いていませんし、Finderの「情報を見る」でも、変化がありません。
ところが、同じファイルをUbuntu側で見ると、次の様になります。
Ubuntu$ ls -l acl.txt -rw-r--r--+ 1 john example 4 2011-03-13 17:59 acl.txt Ubuntu$ getfacl acl.txt # file: acl.txt # owner: john # group: example user::rw- group::r-- mask::r-- other::r--
"+"マークが付いているし、"mask"属性があります。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インストール: プラスα空間
- Ubuntu 10.04にnetatalk 2.2beta2インストール: プラスα空間
- Ubuntu 10.04にnetatalk 2.2beta3インストール: プラスα空間
- Ubuntu 10.04にnetatalk 2.2beta4インストール: プラスα空間
ディスカッション
netatalk 2.2-beta4 リリース
netatalk 2.2-beta4がリリースされています。以下の場所にあります。 Netatalk – Networking Apple Macintosh through Open Source 2.2-beta4の変更点 細かい修正が沢山入ったみたいですが、詳しい事は知りません。 NEW: afpd: new afpd.conf options "tcprcvbuf" and "tcpsndbuf" to customize the corresponding TCP socket opt…
11.10 Oneiric用の2.2-beta4のdebパッケージが出てます。
https://launchpad.net/ubuntu/+source/netatalk
こういうパッケージって、10.04上でbuild出来るんですかね。
ちょっと中身をみたところでは、aclとかopenldapのパッケージを要求してません。ACL無効になっているのかもしれない。
HATさんへ、いつもコメントありがとうございます。
PPC用のバイナリパッケージを試してみましたが、libdb5.1を必要としており、インストールできませんでした。
Lucid Lynx 10.04には、libdb4.8までしか用意されていません。
dpkg-buildpackageを使ったbuildにも挑戦しましたが、やはり依存関係のエラーが出て、実行できませんでした。
ファイルの中をgrepして、5.1になっているところを、4.8に書き換えればよいのでは?
netatalk自身は4.6以上でオッケーなわけだし。
HATさんへ、再びコメントありがとうございます。
"netatalk_2.2~beta4-1_powerpc.deb"は、バイナリファイルなので、編集できませんでした。
ソースファイルと思われる、"netatalk_2.2~beta4-1.debian.tar.gz"を展開して調べてみたのですが、libdb5.1をどこで設定しているか、わかりませんでした。
11.10 Oneiric Ocelotのパッケージを、10.04 Lucid Lynxでbuildする意味は何でしょうか?
苦労の割に、メリットを感じられませんので、closeとしたいと思います。
バイナリは直接5.1のライブラリにリンクしてるだろうから、そういう結果なのは不思議ではないです。
ソースの方をみると、controlというファイルに依存関係が書かれているようです。これによれば、libdb-devに関してはバージョン指定がありません。別のパッケージの依存関係でコケていると思われます。
ldapとかalcのパッケージは要求してないように見えます。これに関してはパッケージャに報告すべきだと思います。
buildの手順はrulesというファイルに書かれているようです。
11.10 Oneiric Ocelotのパッケージを、10.04 Lucid Lynxでbuildするメリットは、
1) パッケージで管理すれば、make uninstall忘れのような面倒がなくなる。
2) パッケージの作り方を公開すれば、他の10.04ユーザが幸せになる。
3) そのパッケージ自体を公開すれば、他の10.04ユーザが更に幸せになる。
4) 11.10で buildできるのに10.04でbuildできないという事実が判明すれば、パッケージ自体か、あるいはnetatalk自体に問題があるという証拠である。前者の場合はUbuntu本家に還元できる。後者の場合はnetatalk本家に還元できる。
5) 4)のような問題が発覚した場合、それは実はUbuntuだけでなく全く別の環境にも関連するかもしれない。だとすると、RedHatとかCentOSとかSLとかFedoraとかGentooとかSUSEとかFreeBSDとかNetBSDとかOpenBSDとかSolarisとかのユーザも幸せになるかもしれない。
ということです。
HATさんへ、いつもコメントありがとうございます。
なるほど、状況が良くわかりました。
色々調べて勉強しないと、現時点の知識では対応できない事もわかりました。
時間はかかると思いますが、対応してみようかと思います。