■■■netatalkのインストール
NetatalkはUNIX系マシン上でアップルトークサーバを構築できるソフトウエアだ。つまり、NetBSD上に仮想のMacボリュームをつくって、ネットワーク経由でMacの端末から共有接続してしまおうというもの。これを使うとあたかも別のMacにローカルトーク接続しているみたいに使える。らしい…(またかよ)
しかし、Macで使っているようなアプリケーションのようにダウンロードして適当な場所に置けば使えると言うものではない。UNIX系のソフトウエアの多くはソースファイルで配布されている。ソースと言うのはプログラムを文字で記述してあるテキストだ。つまり、このプログラムから使う環境にあわせて実行ファイルという形に作らなければならないのだ。これがコンパイルだ。
さっそくNetBSD機上に圧縮ファイルをダウンロード(すでにネットワークに接続し、FTPプロトコルでのファイル交換はできる環境にあるが、できない場合は別のMacでダウンロードしてからインストーラのMiniShellを使ってコピーする。)してきて、解凍、コンパイルとインストールにチャレンジだ。かなりの時間が必要らしいが、これをやらねばサーバを構築できないのだから仕方が無い。おっと、忘れていたが、NetBSDのコンパイラが必要だ。comp.tgzがそれ。インストールしていなければ追加インストールする。念のためtext.tgzもインストール。
netatalkのソースは、できれば最新版をコンパイルしたほうがいいのだろうが、ディスク容量の関係から少し古めのバージョン1.5.5を使うことにした。圧縮ファイル(gzip:GNU Zip圧縮と言って、UNIX系では一般的なもの tar:元はデータをテープに記録するための形式だったらしい。圧縮されたものと単に複数のファイルをまとめただけのものがある。)を
# gzip -d ××.tar.gz
# tar xvf ××.tar
とやって、適当なディレクトリに展開し、その××ディレクトリにcdして入り、
# ./configure
を実行する。つづいて
# make
を実行すれば勝手にファイルはコンパイルされる。正常に終了したら、suかrootになって、
# make install
を実行すれば、実行ファイルが適当なところにインストールされる。
設定は、/usr/local/etc/netatalkディレクトリにあるAppleVolumes.confを編集し、最終行に(~を頭にした行を一つはさむので注意)公開するディレクトリ セレクタに表示されるマシン名を書き加えればOK。例えば、公開ディレクトリが/home、セレクタ上にNetBSD_serverと表示させたい場合は、
/home NetBSD_server
と、一行で書く。 あとは起動スクリプトを探して/etc/rc.d/××に配置すれば、再起動時にnetatalkが自動的に起ち上がる。
これでローカルのMacで普通にNetBSDのディレクトリを共有できるようになった。(もちろん公開するディレクトリを読み書き可能にしておかないと書き込めないことは言うまでもない。)しかし、問題がひとつ。Mac側からサーバに接続するときのパスワードがNetBSDのログインパスワードをそのまま使うのだが、これがクリアテキスト、つまり暗号化されない状態でネットワークを流れる。クライアントがMacOS9より古い場合、暗号化はできないらしい。ログインパスワードが生のまま流れるのは気持ち悪いので、できればログインパスワードとは別のものを使う設定にしたいが方法がわからない。もっとも、NetBSDのログインパスワード自体も現状では暗号化されてないので、気にすることも無いのかもしれないが、オープンSSHなどのモジュールを使った暗号化の方法もあるらしいので、そのうち解決しよう…