Netatalkの概要
Netatalkは、UNIXにAppleTalkの機能を提供するソフトウエアです。Netatalkを使用すれば、MacintoshからUNIX上のボリュームをマウントしたり、UNIXに接続されているプリンタを利用することができるようになります。
『Netatalkの誕生』 ミシガン大学でResearch System Unix Group というチームを率いている Wesley Craig氏 が、Appletalk のプロトコルスタックとその他のプログラムをまとめた netatalk と呼ばれるプログラムを開発しました。
カーネルのオプションを設定
カーネルのコンパイル時のオプション
Netatalkのインストールの際、カーネルのオプションを確認する必要があります。
「/usr/src/linux」ディレクトにリカーネル設定用のプログラムが3種類用意されているので、どれかを実行しましょう。種類と実行方法は下記のとおりです。
% make config
% make menuconfig
% make xconfig
例では menuconfig で行います。
% make menuconfig
メニューが表示されたら、Networking optionsまで移動して、Enterを押してください。またメニューが表示されるので、そこで Appletalk DDPにチェックします。
Networking options --->
<*> Appletalk DDP
次にカーネルを再構築しましょう。もちろん、最初からAppletalk DDP にチェックがされていれば再構築の必要はありません。
Netatalkの入手
ソースファイルは、以下のURLからたどって入手できます。
netatalk - the AppleTalk Protocol Suite for UNIX
Netatalkのインストール
ソースファイルのアーカイブを入手したら、それを任意のディレクトリに展開します。
% cd /usr/src/
% tar xvfz
.../netatalk-1.4b2.tar.Z
ビルドは引数なしで make を実行し、インストールは make install です。
% make install
Netatalkの設定
通常、最初にしなければいけないことは /etc/servicesの設定です。以下のエントリが指定されているか確認し、なければ追加しておきましょう。
rtmp 1/ddp # Routing
Table Maintenance Protocol
nbp 2/ddp # Name Binding Protocol
echo 4/ddp # AppleTalk Echo Protocol
zip 6/ddp # Zone Information Protocol
次に /usr/local/atalk/etc ディレクトリ(インストール先のディレクトリ)にappletalk の設定ファイルを作ります。
最初に作成するファイルは /usr/local/atalk/etc/atalkd.conf ファイルです。このファイルには Apple のマシンのネットワークが接続しているネットワークデバイス名のみを登録しておきます。
eth0
通常はAppletalkデーモンプログラムが自動的にこのファイルに設定情報を追加しています。
ファイル共有のための設定
linux マシンのファイルシステムを提供して、ネットワーク上のApple のマシンから使えるようにする設定を紹介しましょう。
共有を受け持つデーモンは、afpd(Apple Filing Protocol Deamon)です。afpd の設定は、AppleVolumes.default ファイル、AppleVolumes.systemファイルを編集して行います。
AppleVolumes.defaultファイルにはゲストユーザのための設定を、AppleVolumes.systemファイルにはサーバ上にアカウントを持つユーザのための設定を記述します。それから、今回の例では、両方のファイルが /usr/local/atalk/etc にあると仮定します。
これらのファイルの内容は、共有の指定と型定義の指定から構成されています。
エントリの書式は以下のとおりです。
<pathname> [<volumename>]
[casefold=<x>] [codepage=<filename>] [options=z,l,j]
[access=<user|@group>,...] [dbpath=<path>]
[password=<password>] [prodos] [noadouble] [crlf]
<pathname>項目に公開するディレクトリを指定し、<volumename>項]]目にそのボリューム名を指定します。<volumename>項目は省略可能で、その場合は afpd が適当な名前を付けます。
- casefoldは、英文字のキャピタルの指定です。<x>には、lowercase/uppercaseなどの指定ができます。
x | 意味 |
---|---|
lowercase | クライアント/サーバで小文字 |
uppercase | クライアント/サーバで大文字 |
xlatelower | サーバ上で大文字、クライアントで小文字 |
xlateupper | サーバ上で小文字、クライアントで大文字 |
- codepage は、コードページの指定。NLSディレクトリにあるファイル名を指定します。
- accessは、アクセスできるユーザおよびグループを指定する。ここのユーザおよびグループは、Linux上におけるものです。@ を頭につけたものがグループとして認識される。複数指定する場合は、カンマで区切ります。
- dbpath は、Database Stuff を格納するディレクトリのパス名。
- password は、ボリュームにアクセスするのに必要なパスワード。
- prodos、noadouble はあまり関係ないので省略。
- crlfは、TEXTタイプを持ったファイルの改行コードの変換を行う指定。
これらのファイルを設定する際の詳細や各種のオプションについては afpdのman ページを参照のこと。
AppleVolumes.default
単純な例は以下のとおりです。
/tmp Scratch
/home/ftp/pub "Public Area"
この例では /tmp ファイルシステムを Scratchと言う名で、ftp の publicディレクトリを Public Area と言う名で、それぞれAppleShare に提供しています。
プリンタ共有のための設定
Linux マシンに接続されたプリンタをApple製のマシンと共有するのも簡単で、AppleTalk のプリンタ・アクセス・プロトコル・デーモンpapdを使う。このプログラムは、Apple マシンからのプリントリクエストを受けつけてスプールし、lprデーモンに渡して Linux マシンのプリンタに出力します。
papd の設定には /usr/local/atalk/etc/papd.confファイルを使います。このファイルの書式は /etc/printcap ファイルと同じで、登録したプリンタ名がAppletalkの命名プロトコル NBP を使って Appletalk 上に設定されます。
papd.conf は以下のような形式です。
TricWriter:\
:pr=lp:op=cg:
この設定で TricWriter というプリンタ名が Appletalk上に設定され、そのプリンタに送られた出力は lpd を使って linux の lp プリンタ(lpというプリンタは/etc/printcap ファイルで設定されています)に出力されます。
op=cg の指定は linux マシンのユーザ cg がプリンタの使用者になることを意味します。
Netatalkの起動
さて、これで基本的な設定を試す準備ができました。netatalkパッケージにはrc.atalk ファイルが含まれているので、 netatalk を起動するには以下のようにします。
# /usr/local/atalk/etc/rc.atalk
これで必要なデーモン類が全て起動するはずです。エラーが出なければ、ソフトウェアはコンソールにそれぞれの段階のメッセージを示していきます。
Machintoshから使ってみる!
netatalk が正しく機能しているかを確認するには、Appleのマシンを使って、アップルメニューから「セレクタ」を選び、AppleShare をクリックしてLinuxの表示が見えるか確かめます。
Netatalk の注意点
場合によっては、IP ネットワークを設定する以前に Appletalk機能を起動しなければいけない場合があります。netatalk が起動しなかったり、netatalk が起動すると IPネットワークにトラブルが生じたりする場合、netatalk を /etc/rc.d/rc.inet1 以前に起動するようにしましょう。
afpd(Apple Filing Protocol Daemon)は HDDにさまざまなファイルを作ります。AppleTalk 用に指定したディレクトリに.AppleDesktop とNetworkTrash Folder を作り、それ以下の Macからアクセスしたディレクトリ全てにリソースフォークを保存するための .AppleDoubleを作っていきます。/ を afpdで公開するまえにはくれぐれもよく考えましょう。
afpdはMacから平文のパスワードを求めます。これはセキュリティ的には問題になるので、afpdをインターネットなどの外部のネットワークに接続したマシンで起動する際には充分注意しましょう。