Ubuntu 10.04にnetatalk 2.2beta3インストール
被災された地域の方には、申し訳ありませんが、普段通りにMacが使えています。ただ、電力供給が心配なので、明るい内に、電力ピーク時間帯を避けて作業しました。
(と思っていましたが、ピーク時間も使っていたかも…。)
netatalk 2.2beta3がリリースされたと、HATさんからコメントをいただきましたので、インストールしてみました。一応、ACL対応でコンパイルしています。不完全ながらも、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-beta3 (gzip)または(bzip2)をお使い下さい。
パッケージは、~/work/netatalkで展開しています。今回も、bzip2を使いました。~/Downloadsにダウンロードした物を使っています。beta2とファイル名の付け方が若干変わっている様です。
$ cd $ mkdir work $ cd work $ mkdir netatalk $ cd netatalk $ tar xvjf ~/Downloads/netatalk-2.2-beta3.tar.bz2
工程3-2です。configureします。
$ cd $ cd work/netatalk/netatalk-2.2-beta3 $ ./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-beta3 $ make
コンパイルが終わった後に、./etc/afpd/afpd -Vで、バージョンと各種設定ファイルがインストールされる場所を確認しておきます。
$ cd $ cd work/netatalk/netatalk-2.2-beta3 $ ./etc/afpd/afpd -V afpd 2.2-beta3 - 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-beta3 $ sudo make install
念のため、インストールされたバージョンを確認します。
$ /usr/sbin/afpd -V afpd 2.2-beta3 - 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.6)です。
- Finderから、サーバが見えるか?
- フォルダを作れるか?
- ファイルをコピーできるか? (Mac→Ubuntu、Ubuntu→Mac)
- ファイルのパーミッションとタイムスタンプはどうか?
- 拡張属性はついているか?
- ファイル名の確認(日本語、禁止文字、長いファイル名)
- TimeMachineのディスクに表示されるか?
全項目確認して、大丈夫でした。
ACLは、少し進歩しました。Mac OS X側で、ログインホームディレクトリを、LDAP+AFPでマウントする様にしました。その結果、ACL属性を付ける時のエラーは出なくなりました。
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インストール: プラスα空間
ディスカッション
netatalk 2.2-beta3 リリース
netatalk 2.2-beta3がリリースされています。以下の場所にあります。 Netatalk – Networking Apple Macintosh through Open Source 2.2-beta3の改善点 Time Machineが動き始めると不安定になる問題の修正 現行安定版2.1.x → 2.2-beta3の主な変更点 AFP 3.3サポート 高速ファイル名サーチのサポート (CNIDバックエンドがdbdの場合のみ) POSIX ドラフト 1e ACLサポート (…