大学のネットワークは防火壁で囲まれ、以下の原則で運用されている。
自宅の Plan9 端末を p9term
研究室のファイルサーバを 9fs
研究室の認証サーバを hera
研究室の CPU サーバを ar
とします。防火壁との関係では図1のようになっています。
import ar / /n/arを実行すれば、p9term の /n/ar に ar の名前空間が丸ごと見えるようにする訳です。
図1には、その場合に背後で行われている認証プロセスが簡単に説明されています。
hera に対してチケットのリクエストが発生します。IL ではなく TCP が使用されるようにするためには、p9term の /lib/ndb/local
で hera に対して
proto=tcpを指定しておく必要があります。hera の tcp567 にアクセスに行くので、防火壁が hera に対して TCP 567 を通してくれる必要があります。またチケットが貰えるためには、認証サーバに筆者のユーザ名である arisawa が登録され、その時のパスワードが p9term を立ち上げた時に入力するパスワードと一致している必要があります。
import
コマンドで ar への通信プロトコルが自動的に TCP で行われるようにするには p9term の /lib/ndb/local
で ar に対して hera と同様に
proto=tcp
を指定しておかなければなりません。
また import
コマンドは ar の tcp17007 にアクセスに行きます。従って防火壁は ar に対して TCP 17007 を通してくれる必要があります。
import [ -abcC ] [ -f ] system file [ mountpoint ]-abcC の意味は
mount
コマンドと同じです。筆者のように細い回線を使用している場合にはキャッシングの指定(-C)をしておいた方がよいでしょう。
mountpoint
を省略した場合には file と同じ値が使用されます。
従って例えば、
import -C ar /usr/arisawaを実行すれば、/usr/arisawa 以下のディレクトリが ar で見えるもの(これは 9fs が提供する名前空間) で置き換わります。
/usr/arisawa/tmp
は ar のものですが、
/tmp
は p9term のファイルシステムのものが見えています。/tmp
が存在するのはダテではなかったのです。
import
コマンドによって大学研究室のファイルシステムが自宅の p9term に、あたかもローカルディスクのファイルのように見えるようになるのですが、遠くにある大きなファイルを自宅の p9term で処理するのは 64Kb の ISDN 回線の下では得策ではありません。
幸い Plan9 には cpu コマンドがあります。このコマンドは telnet と同様にリモートホストで処理を行います。tenet との違いは、
(ar の /mnt/term 以下に p9term の名前空間がマウントされている)