■■■Seagate SCSI HDD
私の最終的な目標はMac、Win共用のファイルサーバの構築だ。そのためには少なくともウインドウズネットワークサーバのSambaと、アップルトークサーバのNetatalkと言うサーバプログラムを同時に走らせなくてはならない。しかも、このソフトウエアはUNIXではあたりまえのソースコードでの配布なので、自分で使うマシン用にコンパイルしなくてはならないらしい。UNIXでは私たちが普段使っているMacやWin用のアプリケーションのようにWin98用とか、MacOS8用とか、いちいち作らないのがナラワシらしい。(バイナリパッケージとして配付されているものも多いが、68kで使えそうなのは少ない…)そこで、ソースファイル(プログラムを文字で記述してあるテキスト)から実行ファイルを作るコンパイラというプログラムが必要だ。再びMacに戻りNetBSDインストーラを使ってcomp.tgzとtext.tgzいうシステムを追加しなくてはならない。(FTP経由でダウンロードしてもいい)ただ、これらのファイルをインストールするのに500MBのディスクスペースで足りるのだろうか…
説明では300MB程あればコンパイラも含めたほとんどのファイルがインストールできると書いてあったのだが、念のためにディスクの容量を増やすことにした。普段バックアップ専用に使っている、これもSeagate製2GBの高回転ディスクに交換する。いまでもバックアップファイルが保存してあるため、半分をMacパーティション、半分をBSD用に使うことにしてパーティションを切る。行程は最初のときと同じだが、今度は一度にcomp.tgzとtext.tgzもまとめてインストールした。もちろん時間は3時間近くかかるが容量はたっぷりしているので問題ない。
ところが、ブートして500MBと同じ作業をしようとシステムをマウントした途端にシェルが動作を受け付けなくなった。ディスクをマウントにいったまま止まってしまっている。しばらく待っていると「sbc0:timeout waiting for DREQ」の表示。しかしまた動かないまま。またしばらく待つと同じ表示を出すだけ。らちがあかないので「command+power」キーでデバッガに落として再起動。おそらくシステムもいかれたかもしれない。再度ブートしてMacのDisk FastAIDに相当するfsckを実行した。しかし、これもfsckがチェックのためにファイルシステムをマウン したとたん止まる。同じく「sbc0:~」の表示だ。500MBのディスクではまったく起きなかったのだからディスク関連の不具合だろう。最新のFAQを読んでみると、「SCSIドライバに不具合があったのでncrドライバをsbc0ドライバに更新した」と書いてある。どうやらこれが私の2GBに不適応なようだ。
古いncrドライバーを使ったkernel(GENERICというやつだ)に差し替えもできるが、こちらはPB500には対応していない。試しにこれで起動してみるが案の定ブート段階で止まる。また、sbc0ドライバの仕様を変更する方法も並記してあるのだが、コンパイルする環境がないので現実的には無理。どうすりゃいいんだ…
ダメ元で165cにこのディスクを接続してブートしてみた。するとシステムをマウントしても止まらない。520cよりも遅いながらしっかり動作している。もちろんSegmentation faultも出ない。ひょっとしたらドライバではなく、例のFPU関連の不具合かもしれない。「そうだ、このまま165cでファイルシステムの設定をしてから520cに戻せばうまくいくかも…」と、新規ユーザの登録から起動設定ファイルの書き換え、取扱プロトコルなど一通り設定してシステムを終了しようとシャットダウンコマンドを入力。ところが「アクセス権が無い」と表示して命令を受け付けない。shutdown、reboot、haltいろいろやったがルート権限をもってしても終了できない。パワーキーの無い165cではデバッガにも落とせず、止むを得ず強制的に電源を落としたが、それっきりそのシステムは「kernelの異常」を表示してブートできなくなった。
わけのわからない素人が、文字どおり「シロウト考え」でつまらない操作をしたのがまちがいだった。なぜこうなるのかわからないが、二度と起動できなくなってしまった… そのままカーネルだけでも再インストールできないかと思ったが、インストーラも爆弾を出して落ちる始末。残念。これ以上のチャレンジは無理と判断し、作業終了。Macへ戻る。「ただいま~」
■Telnet って?
UNIXサーバ関連の情報をあたっていると、必ず「端末からTelnet経由で~」とか、「telnetでサーバに接続して~」などと書いてある。Macユーザの私にとっては未知の世界であるtelnet。習うより慣れろ!ということでとりあえず使ってみることにした。とりあえず68kマックで使えるtelnetは、
このあたりだろうか。最近はログインにSSH(セキュアシェル)という暗号化技術をもちいるらしいが、ホスト(NetBSDをインストールした520c)のほうでまだ設定していないので、とりあえず、一番歴史のありそうなbetter telnetを使ってみた。
ホストのinetd.confでtelnetが有効にしてあれば、better telnetで「Open Connection」とやって、ホストのIPを入力するだけでログイン画面が表示される。ここで
# user name: ×××
# password: ×××
とやれば、ホストにログインできる。これは、あたかも別のMac上(Macでなくてもいいが…)にNetBSDのコンソール画面を開いた感じだ。コマンドを入力すると、本物のコンソールと同じ結果が得られる。つまり、見た目だけではなく、まさにネットワーク上の別の端末から、ホストそのものを操作しているのだ。ただ本物のコンソールと違うのはrootでログインできないこと。ログインできるのは一般ユーザのみとなる。
しかし、別のマシンからリモート操作でホストを自由に操作ができるのはマックでは考えられない感覚だ。
たとえば、ホストの自分のアカウントに来ているメールを読み書きしたり、FTPでファイルをアップ、ダウンしてみたり、ホスト上にあるソフトウエアを走らせたりする事だってできてしまう。その上、スーパーユーザならホストの再起動さえできるのだ。
私はtelnetを使うまでマルチユーザの意味を誤解していた。「マルチユーザ」の本来の意味は「一つの端末を複数の人間で操作できる」ではなく「一つのホストをネットワーク上の複数の端末から操作できる」ということだったのだ。