Debian Etchにnetatalk 2.2.0インストール(後編)
IO-DATAのNASLANDISK Home HDL4-Gは、搭載されているnetatalkが古すぎて、OS X 10.7 Lionでは使えません。これを解決する為には、netatalkをバージョンアップする必要があります。もしHDL4-GのOSをupgradeしたなら、netatalk 2.2.0をインストールできるかどうかの調査です。
- Debian 4.0 Etchインストール
- Debian 4.0 Etch設定(1)
- apt-getを使用できる様にする
- gccインストール
- Parallels Toolsインストール
- sshサーバ
- Debian 4.0 Etch設定(2)
- 拡張属性設定
- avahi-daemonインストール
- Debian 4.0 Etchのパッケージ調査
- BerkeleyDBインストール
後編ではnetatalk本体をインストールします。目次は、次の通りです。
- 関連ツールインストール
- Netatalk本体インストール
- パッケージダウンロード&展開
- configure
- make
- make install
- Netatalk設定
- /etc/default/netatalk
- /usr/local/etc/netatalk/afpd.conf
- /usr/local/etc/netatalk/AppleVolumes.default
- 起動
- 動作確認
なお、インストール、設定に関しては、次のページを参考にしています。ありがとうございます。
6. 関連ツールインストール
必要なツールをインストールします。パッケージが用意されている事は、前編で調査済みです。
# apt-get install libssl-dev (uams_dhx.soを使う時に必要) # apt-get install libgcrypt11-dev (uams_dhx2.soを使う時に必要) # apt-get install libslp-dev (SLPのために必要) # apt-get install libavahi-client-dev (Zeroconfのために必要)
SLPはほとんど必要ないのですが、今までインストールしてきたので、成り行きでインストールします。Mac OS X 10.2よりも古いOS(Mac OS 9とか)を使っている方は、必要です。
LDAP/ACL関係のパッケージはインストールしません。LDAP運用をしないので。
Berkeley DBは、前編でインストール済みです。
7. Netatalk本体インストール
7.1 パッケージダウンロード&展開
パッケージのダウンロードは、Mac OS Xでしておきます。次のページからリンクをたどって下さい。
ダウンロードするパッケージは、gzipにしました。
ホームディレクトリの、ダウンロード(Downloads)にダウンロードされる物として説明を続けます。
この後、Terminal.appでの操作になります。Terminal.appからsshで、Parallels内のDebian Etchに接続しておきます。この方法は、前編で解説しています。
# cd # mkdir work # cd work # mkdir netatalk # cd netatalk # cp -p /media/psf/Home/Downloads/netatalk-2.2.0.tar.gz . # tar xvzf netatalk-2.2.0.tar.gz
7.2 configure
configureします。インストールできるかどうかだけの実験なので、最低限のオプションにします。
# cd # cd work/netatalk/netatalk-2.2.0 # ./configure --enable-debian \ (Debianなので) # --enable-srvloc \ (SLPのために必要) # --with-bdb=/usr/local/BerkeleyDB.5.2 (BDBの場所を教える)
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 -lgpg-error CFLAGS = BDB: LIBS = -L/usr/local/BerkeleyDB.5.2/lib -ldb-5.2 CFLAGS = -I/usr/local/BerkeleyDB.5.2/include/ 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: no
7.3 make
コンパイルします。makeと入力するだけです。
# cd # cd work/netatalk/netatalk-2.2.0 # make
コンパイルが終わった後に、./etc/afpd/afpd -Vで、バージョンと各種設定ファイルがインストールされる場所を確認しておきます。
# cd # cd work/netatalk/netatalk-2.2.0 # ./etc/afpd/afpd -V afpd 2.2.0 - 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: /usr/local/etc/netatalk/afpd.conf AppleVolumes.system: /usr/local/etc/netatalk/AppleVolumes.system AppleVolumes.default: /usr/local/etc/netatalk/AppleVolumes.default afp_signature.conf: /usr/local/etc/netatalk/afp_signature.conf afp_voluuid.conf: /usr/local/etc/netatalk/afp_voluuid.conf afp_ldap.conf: not supported UAM search path: /usr/local/etc/netatalk/uams/ Server messages path: /usr/local/etc/netatalk/msg/ lockfile: /var/lock/afpd
正しくコンパイルされた様です。
ファイルの置き場所も大丈夫そうです。
7.4 make install
いよいよインストールです。
# cd # cd work/netatalk/netatalk-2.2.0 # make install
念のため、インストールされたバージョンを確認します。
# /usr/local/sbin/afpd -V afpd 2.2.0 - 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: /usr/local/etc/netatalk/afpd.conf AppleVolumes.system: /usr/local/etc/netatalk/AppleVolumes.system AppleVolumes.default: /usr/local/etc/netatalk/AppleVolumes.default afp_signature.conf: /usr/local/etc/netatalk/afp_signature.conf afp_voluuid.conf: /usr/local/etc/netatalk/afp_voluuid.conf afp_ldap.conf: not supported UAM search path: /usr/local/etc/netatalk/uams/ Server messages path: /usr/local/etc/netatalk/msg/ lockfile: /var/lock/afpd
大丈夫の様です。
8. Netatalk設定
8.1 /etc/default/netatalk
次の内容を設定しました。変更点のみ、列挙します。
ATALK_MAC_CHARSET='MAC_JAPANESE' ATALK_UNIX_CHARSET='UTF8' AFPD_UAMLIST="-U uams_guest.so,uams_dhx.so,uams_dhx2.so"
8.2 /usr/local/etc/netatalk/afpd.conf
次の内容を設定しました。
- -tcp -noddp -uamlist uams_guest.so,.so,uams_dhx.so,uams_dhx2.so \
-maccodepage MAC_JAPANESE -unixcodepage UTF8 \
-slp (SLPを使う場合に指定)
SLP(-slp)は、Mac OS X 10.2よりも古いOS(Mac OS 9とか)に、ファイルサーバを知らせる仕組みですので、通常は不要です。
8.3 /usr/local/etc/netatalk/AppleVolumes.default
次の内容を設定しました。
:DEFAULT: options:upriv,usedots cnidscheme:dbd maccharset:MAC_JAPANESE volcharset:UTF8 dperm:0700 fperm:0600 ea:sys /home/username "username" allow:@username deny:admin /home/d_capsule "Debian Capsule" options:tm volsizelimit:5000
元々設定されていた"~"は、コメントアウトします。
/home/usernameは、ログインディレクトリです。
/home/d_capsuleは、Time Machineのバックアップ用です。volsizelimit:5000は、5GiBと言う事です。実態に合わせて変更してください。
# mkdir /home/d_capsule # chown nobody:nogroup /home/d_capsule # chmod 775 /home/d_capsule
9. 起動
サービスを起動します。前編でavahi-daemonをインストール済みです。
# /etc/init.d/netatalk start # /etc/init.d/avahi-daemon start
10. 動作確認
Mac OS X側での動作確認です。OS Xは、Lion(10.7)です。
次の項目を確認します。
- Finderから、サーバが見えるか? … OK
- フォルダを作れるか? … OK
- ファイルをコピーできるか? (Mac→Debian、Debian→Mac) … OK
- ファイルのパーミッションとタイムスタンプはどうか? … OK
- 拡張属性はついているか? … OK
- ファイル名の確認(日本語、禁止文字、長いファイル名) … OK
- TimeMachineのディスクに表示されるか? … OK
全項目、OKでした。
あ、guestアクセスができないのです。なんでだろう…。
# asip-status.pl 10.211.55.4 AFP reply from 10.211.55.4:548 Flags: 1 Cmd: 3 ID: 57005 Reply: DSIGetStatus Request ID: 57005 Machine type: Netatalk 2.2.0 AFP versions: AFP2.2,AFPX03,AFP3.1,AFP3.2,AFP3.3 UAMs: DHX2,DHCAST128,No User Authent Volume Icon & Mask: exist Flags: SupportsCopyFile,SupportsServerMessages,SupportsServerSignature,SupportsTCP/IP,SupportsSrvrNotifications,SupportsOpenDirectory,SupportsUTF8Servername,SupportsUUIDs,SupportsSuperClient Server name: etch Signature: 42 80 54 4f 27 af 11 ff a0 e3 7a dd f7 7f 7c 76 B.TO'.....z...|v Network address: 10.211.55.4 (TCP/IP address) UTF8 Servername: etch
guestが有効になっている様に思えるのですが、なぜかエラーになってしまいます。
【関連記事】
- Debian SargeのLANDISKにはnetatalk 2.2beta4をインストールできない: プラスα空間
- Debian Etchにnetatalk 2.2.0インストール(前編): プラスα空間
- Debian Etchにnetatalk 2.2.0インストール(後編): プラスα空間
ディスカッション
afpd.confの-uamlistの記述にtypoがあります。
HATさんへ、コメントありがとうございます。
".so"となっている部分でしょうか?
消してみましたが、状況は変わりませんでした。
logになんかエラー出てませんか
HATさんへ、おつきあいいただき、ありがとうございます。
気になるのは、"unexpected EOF"なのですが、nobodyでもusernameでログインしたとも、どちらでも出ているのです。
Aug 18 07:49:42.194311 afpd[2197] {auth.c:269} (N:AFPDaemon): AFP3.3 Login by nobody
Aug 18 07:49:47.598726 afpd[2197] {auth.c:948} (N:AFPDaemon): AFP logout by nobody
Aug 18 07:49:47.598922 afpd[2197] {dsi_stream.c:397} (E:DSI): dsi_stream_read: len:0, unexpected EOF
Aug 18 07:49:47.598939 afpd[2197] {afp_dsi.c:498} (N:AFPDaemon): afp_over_dsi: client logged out, terminating DSI session
Aug 18 07:49:47.598958 afpd[2197] {afp_dsi.c:99} (N:AFPDaemon): AFP statistics: 0.14 KB read, 0.12 KB written
Aug 18 07:50:02.830331 afpd[2201] {auth.c:269} (N:AFPDaemon): AFP3.3 Login by username
Aug 18 07:50:07.817296 afpd[2201] {auth.c:948} (N:AFPDaemon): AFP logout by username
Aug 18 07:50:07.817501 afpd[2201] {dsi_stream.c:397} (E:DSI): dsi_stream_read: len:0, unexpected EOF
Aug 18 07:50:07.817518 afpd[2201] {afp_dsi.c:498} (N:AFPDaemon): afp_over_dsi: client logged out, terminating DSI session
Aug 18 07:50:07.817553 afpd[2201] {afp_dsi.c:99} (N:AFPDaemon): AFP statistics: 0.66 KB read, 0.52 KB written
Aug 18 07:50:07.848716 afpd[2205] {auth.c:269} (N:AFPDaemon): AFP3.3 Login by nobody
これはですね、バグです。
HATさんへ、コメントありがとうございます。
あらら、そうですか…。
話は変わりますが、多分、HATさんが1,000,000アクセスをgetしたと思います。
おめでとう&ありがとうございます。
netatalk 2.2.1 リリース
netatalk 2.2.1がリリースされています。 Netatalk – Networking Apple Macintosh through Open Source 新機能は2つ。 デフォルトでは継続的な接続がdisableとなった。継続的にサービスするなら-keepsessionsオプションを使え。 Fedora 15以降の為の–enable-redhat-systemdオプション追加。今までの–enable-redhatは–enable-redhat-sysvに改名。 あとは、大量…