Ubuntu 10.04にnetatalk 2.2alpha1インストール[訂正あり]
HATさんからのトラックバックで、netatalk 2.2alpha1がリリースされていることを教えていただきました。
α版か…。日常的に使うのだと怖いのですが、私の場合、インストールすることが趣味の様になっていますので、試してみる分には問題ありません。
今回は次の方針です。
- 基本的なインストール方針は、今までやってきた方法と同じ
- 設定ファイルは、新規インストール
インストール方法は、次の手順を参考にしました。ありがとうございます。
全体のインストール手順を大まかに書くと、次の様になります。
- 関連ツールインストール
- 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のために必要)
Netatalk 2.2で、追加で必要になるパッケージもインストールします。
$ sudo apt-get install uuid-dev (TimeMachineのために必要) $ sudo apt-get install libavahi-client-dev (Zeroconfのために必要)
configureやコンパイル時にエラーになったので、追加しました。
2. Netatalk本体のインストールです。
2.1 パッケージをダウンロードします。次のリンクをたどって、Firefoxなどでダウンロードして下さい。
次に、パッケージを展開します。ダウンロードしたパッケージが、~/Downloadsにある物とします。
$ cd $ mkdir work $ cd work $ mkdir netatalk $ cd netatalk $ tar xvzf ~/Downloads/netatalk-2.2alpha1.tar.gz
工程2-2です。α版なので、まだバグがある様です。パッチを当てました。
この情報を元にpatchファイル(netatalk-2.2alpha1-patch0)を作って、patchコマンドでパッチを当てます。上記の情報を元に、次のファイルを準備しました。
パッチを当てる手順は、次の通りです。パッチファイルが、~/Downloads/netatalk-2.2alpha1-patch0にある物とします。
$ cd $ cd work/netatalk/netatalk-2.2alpha1 $ patch -p 0 < ~/Downloads/netatalk-2.2alpha1-patch0
このパッチを当てる前は、VFS_FUNC_VARS_ACLに関するエラーが出ていました。
次の工程、2-3です。configureします。
$ cd $ cd work/netatalk/netatalk-2.2alpha1 $ ./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 9.2.2(Performa 5420)が一台残っているからです。でも、ここ何年かPerformaを使っていないので、SLPに対応させるのは、意味が無いかもしれません。
–enable-zeroconfを指定しなくても、Zeroconfは自動的に有効になる様です(必要なパッケージがインストールされていれば)。
次は、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
2-4です。コンパイルします。
$ cd $ cd work/netatalk/netatalk-2.2alpha1 $ make
インストールする前に、バージョンを確認します。
$ cd $ cd work/netatalk/netatalk-2.2alpha1 $ ./etc/afpd/afpd -V afpd 2.2alpha1 - 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 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/
正しくできている様です。
2-5です。インストールします。
$ sudo service netatalk stop $ cd $ cd work/netatalk/netatalk-2.2alpha1 $ sudo make install
念のために、インストールされたバージョンを確認します。
$ /usr/sbin/afpd -V afpd 2.2alpha1 - 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 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/
大丈夫な様です。
3です。各種設定をします。
$ cd /etc/default $ sudo vi netatalk $ cd /etc/netatalk $ sudo vi afpd.conf $ sudo vi AppleVolumes.default
/etc/default/netatalkには、次の内容を設定しました。変更点のみ、列挙します。
ATALK_NAME=`/bin/hostname --short` ATALK_MAC_CHARSET='MAC_JAPANESE' ATALK_UNIX_CHARSET='UTF8' AFPD_UAMLIST="-U uams_guest.so,uams_dhx.so,uams_dhx2.so"
/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"
/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/usernameは、ログインディレクトリです。
/home/u_capsuleは、Time Machineのバックアップ用です。volsizelimit:5000は、5GiBと言う事です。実態に合わせて変更してください。
$ sudo mkdir /home/u_capsule $ sudo chown nobody:nogroup /home/u_capsule $ sudo chmod 775 /home/u_capsule
ログファイルを置くディレクトリを作ります。
$ sudo mkdir /var/log/netatalk
起動します。
$ sudo service netatalk start
Snow Leopardから接続しました。avahi-daemonの設定をしなくても、ちゃんと、サーバが見えます。Time Machineからも見えました。
最初、/etc/default/netatalkで、ATALK_NAMEがデフォルト(`echo ${HOSTNAME}|cut -d. -f1`)のままでは、サーバが見えませんでした。上記のように設定する事で、見えるようになりました。
この記事を書きながら、インストールを進めました。4時間位かかりました。
【関連記事】
- PowerMac G4/MDDにUbuntu 10.04インストール[追記あり]: プラスα空間
- Ubuntu
9.10にnetatalk 2.1.2インストール[追記・訂正あり]: プラスα空間 - Ubuntu 9.10にavahiインストール[追記あり]: プラスα空間
- Ubuntu 10.04にnetatalk 2.1.3インストール[追記・訂正あり]: プラスα空間
- Ubuntu 10.04にnetatalk 2.1.4インストール: プラスα空間
(訂正 2011-03-06 00:12)afpd.confの書き方を修正しました。
ディスカッション
netatalk 2.2alpha1 リリース
netatalk 2.2alpha1 がリリースされています。 Netatalk – Networking Apple Macintosh through Open Source まだちゃんと調べてませんが、以下のような変更点があります。 adコマンドにcp, rm, mvの機能を追加。これに伴いafile, achfile, apple_cp, apple_mv, apple_rmコマンド削除 動的なディレクトリとCNIDのキャッシュ。 LinuxでのPOSIX 1e ACLサポート。 Zer…
いっそのこと、ATALK_NAME=の行をコメントアウトするとどうなるでしょうか。
debian/ubuntu用のinitscriptは、ソース中では
distrib/initscripts/rc.atalk.debian.tmpl
なんですが、これをみると、
ATALK_NAME=`/bin/hostname –short`
という行が実行され、それよりあとに
/etc/default/netatalk
が呼び出されるようになっています。
HATさんへ、コメントありがとうございます。
ATALK_NAME=の行をコメントアウトして、試してみました。
ちゃんと、Snow Leopard側から見えました。
念のため、`echo ${HOSTNAME}|cut -d. -f1`に再設定してみた所、見えなくなりました。
いまDebian上で確認中なんですが、atalkdが存在しないと、
sudo service netatalk start
とやっても何も起動しないバグがあります。
にもかかわらず、この記事では問題なく起動できています。
古いバージョンのnetatalkをuninstallしないまま、alpha1をインストールしたのではないでしょうか。
私の想像では、古いatalkdが残っています。
HATさんへ、再びコメントありがとうございます。
ご察しの通り、2.1.4を消さずに、2.2alpha1を上書きインストールしました。
apt-get removeで消してから、2.2alpha1をインストールし直してみます。
それと、2.2alpha2も試してみようと思います。
どちらも、土日の作業になると思います。
HATさんへ、こんな所ですみません。
もし、お読みになられていましたら…。
Netatalk and Sambaのページの先頭の、日付が10月になってしまっています。
11月ですよね?
HATさんへ、
2.1.4をsudo make uninstallして、2.2alpha1をsudo make installしました。
やはり、
sudo service netatalk start
で起動しませんでした。
2.2alpha2でも試してみました。同じ結果になりました。