FreeBSD(98) & Software Install記録


98/8/2 AM  インストール

 UNIX USER 8月号に附いてきたCD-ROMにFreeBSD2.2.6RELEASE(PC/AT & PC98)が入っていたので、これをインストールすることを思いつく。今まで2.2.1RELEASEを入れていたんだけど、まぁこの機会に最新版にしてみるかなっと。ちなみにマシン構成は以下の通り。このマシン、いらなくなったってんで、会社からもらってきたんです...。

型番PC-9821AP2/UW8
CPUi486DX2(66MHz)
Memory69.6M
VideoS3 86C928
NICAllied Telesis RE1001Plus
SCSIIO-DATA SC98
Price\580,000 !!(当時)

 しかし、Hard Diskがない!今までは500MBConnerのSCSI HDDに2.2.1を入れていたんだけど、できれば他のディスクに入れたい。しかし、IBMの1GのはSparc/Linuxが入ってるし(最近使ってないけど)、4GのSeagateのドライヴ(ST15150N)はあまりにもうるさいのでMacのバックアップに使っている。さらに、SS2に載っていたSeagateの500MBのやつは、焦げ臭いにおいとともにお亡くなりになってしまった.....。3分ほど迷いに迷った挙げ句、今までのを消して新しくインストールすることに決定。ホームディレクトリのドット・ファイルだけをバックアップして、作業開始。

 インストールは至って簡単。Unix上でddコマンドを使ってインストールフロッピーを作り、作業開始。もちろん、その前にMS-DOSのFdiskでHDDをスライス切りしておく。今回は500MBのうち8MBだけをMS-DOS領域とし、残りをFreeBSD用とした。

 インストールだが、まずはオプションエディタでEditorを/usr/bin/viに変更。(これは私の好み)次にインストール本番なのだが、初心者の私は迷わず“初心者用インストール”を選択。(^^;; まずはFreeBSDスライスの選択-->パーティション作成。とりあえず、お任せで切ってもらうと、結構いい感じの設定になっている。Swapは148M。実メモリが69Mあるので、これは妥当と見た。/usrが300MBしかないのは不安だけど、全体で500MBだからしょうがない。2.2.1をインストールしたときはこれをいじった記憶があるのだけれど、今回はこれでGOサイン。

 次はインストールするファイルの選択。当然カスタムを選択後、私はいわゆる必要最低限のモノに加えて、jmanとsrc(sysのみ)、XFree86(サーバはS3)を選択。HDDが少ないので今回はGameは入れないことにした。まあ、後でも追加できるし。あとはCD-ROMからのインストールを選択して完了。24倍速なので結構あっと言う間に終わる。で、最後にタイムゾーンとかの設定をして終わり。(実はここでちょっとハマってた)再起動すると、いままでとはちょっと違うブートメッセージが出たあとにめでたく起動。とりあえずtcsh入れて.tcshrcをFTPして何とか使える環境にしたところで眠くなったので終わり。



98/8/5 AM  X-Windowのセットアップ

 お次はXのセットアップ。どうやら2.2.6にはXF98Setupなる簡単?セットアップコマンドがあるようなのだが、どーも信用ならんので(お前のほうが信用ならん、という説大アリ)、昔ながらのXF86Config直いぢりをすることに。
# cp /usr/X11R6/lib/x11/XF86Config.98 /etc/XF86Config

として、まずはお手本設定ファイルをコピー。これをいぢることにする。(ふつー、こうすると思う...)

 また、XサーバにはS3を使うので、
# ln -s /usr/X11R6/bin/XF86_NECS3 /usr/X11R6/bin/x

として、XF86_NECS3からシンボリックリンクを張ることに。しかし、ここでトラブル。何故かXF86_NECS3がインストールされていないらしい....。仕方ないので、CD-ROMを探してXF_86NECS3を展開&コピー。これでようやく準備が整った。
 設定といってもいぢる箇所は少ない。(2.2.1の時に苦労したので大体覚えている)まずは、Emulate 3ButtonsEmulate 3Timeout 50をコメントアウト。あとは、Device "NECWAB"をコメントアウト。これだけ。
 でまあ、「多分こんなんじゃ動かないだろうな〜」と思いながらも
# startx >& x.log
としてみると、なんとあっさり起動。あとでログを見るとちょこちょこエラーが出ていたのでこれをなおして完了。う〜む、簡単すぎて怖い....。

 Xのセットアップ自体があまりに簡単に終わっちゃったので、勢いにのってWindow Managerのインストールもやっちゃうことに。デフォルトだとtwmが入っているみたいだが、ここは派手にAfterStepを入れることに決定。ソースからコンパイルしちゃえ、っとばかりにftp://casper.y2.yamagata-u.ac.jp/からソースを入手。で、大丈夫だろ....と、
# ./configure
# xmkmf ; make Makefiles ; make
としたところでエラー。なにやらxpm.hが無いとダメだとか。無いとダメなら用意したろやないけ、とCD-ROMからpkg_addして再チャレンジ。しかし、しかし....。次もまたエラー。こんどはsoundcard.hがないとか....。もーイヤ、というわけで、おとなしくportsを使ってインストールすることにした。(けっこう投げ出しがちなんですよ、私...)portsでのインストールは簡単そのもので、スケルトンを用意したらあとは全自動。こりゃあ、らくちんらくちん...。.xinitrcにちょこちょこっと起動スクリプトを書いて完了。startxすると、あのNEXTSTEPばりの画面が表れる。う〜む、感動。Linux/Sparcに入れたときはエラい苦労した記憶があるけど、portsがあればこんなに簡単なのか〜〜。こりゃあ、いつまでたってもUNIXの実力(そんなんあるのか?)つかないな〜。



98/8/21 AM  カーネル再構築

 やっぱ、インストール後はカーネル再構築でしょ!というわけで、今夜はカーネル再構築をすることに。

 まずはソースを用意しなくちゃ、というわけで、Install.98やらFAQ.98やらを読んでみたんだけど、どうやらこれらのDocumentは古いらしい。さんざんファイルを探した結果、実はインストーラで選択しておけばOKだということが分かった。2.2.1のときはパッチを当てる必要があったのでそれを探していたんだけど....。
 で、/usr/src/以下に展開されたソースをいぢることに。まずはお決まり?で、/usr/src/sysのバックアップを取る。今回は、tarコマンドで圧縮&結合させた。これで心おきなくいぢることができる。次に、/usr/src/sys/pc98/conf/GENERIC98を別の名前(マシン名がorangeだからorangeにした)でコピーしてこれをいぢる。
 まずはident部を変更。ここがGENERIC98になっているんだけど、これをorangeにする。あとは好みと必要性でカーネルをいぢっていく。私の場合、サウンドカードの設定、fd1からfd3、ft0の削除、wd系(IDEハードディスクドライバ)を削除、ATAPI CD-ROMは使わないので削除、wfd0(IDEフロッピー....こんなのあったの?)を削除、cpuはI486_CPUに設定、aic0(SCSIドライバ...私はbs0を使用)を削除、とまあ、こんな設定をした。後で気づいたんだけど、sio1とsio2を削除するのを忘れてた....。ま、いつでもできるからいっか。(こう言っているとまずやらない...

 で、あとは

# config orange
# cd ../../compile/orange/
# make depend; make

でコンパイル。が、しかし30分近く経過したところでエラーが発生してストップ。(涙)どうやらサウンドカードの設定時に、device文だけをコメントアウトしていて、controller文をそのまんまにしちゃったらしい。この点を訂正して再チャレンジ。今回はコンパイル時間を測りたかったので、

# date; make depend; make ;date;

とした。しばらくして今回は無事コンパイル完了。開始時刻はAM 3:00:17、終了時刻はAM 3:27:33。う〜む、時間かかるもんだな〜。で、これをmake installすれば現在のカーネルと置き換えられる。古いカーネルは/kernel.oldとして残っているのでもし起動できなかった場合でもなんとかなるみたい。
 思い切って再起動してみたところ、あっさり起動。カーネルのサイズを調べてみると、旧カーネルは1401034 byteに対して、新カーネルは1271334 byte。1MBちょっとスリムになった。満足、満足。(^^)



98/9/1 AM  Mozilla 日本語化に挑戦 Part1

 以前X-WindowをセットアップしたときにNetscape Communicator4.04はインストールしていた。しかし、しかしである。日本語の表示は出来るものの、入力ができない!(ちなみに他のアプリでもまだ設定していなかったりして...kterm位はしとけよ、とか言われそうだけどまあ無視(^^;;)オフミの席でわかさひ君に聞いてみたら、「かなり難しいと思います。」とのこと。が、Unix UserにVJE-Deltaの記事があったのを思いだし、読み返してみるとNetscapeでも使えるとのこと。これはやるしかない!というわけで、チャレンジしてみることにしたのでした。

 まずはVJE-Deltaのインストール。これは至って簡単で、README.txtUnix用ソフトウェアにしては異常と思われる位に詳しく、分かりやすく書いてある。基本的には、解凍→インストール用shellスクリプト実行、で終わり。むうう、こんな簡単でいいのか....。で、README.txtにしたがって起動テストを実行。

 で、ktermを起動したのだが、このとき変なメッセージWorning: locale not supported by C library. locale unchanged.)が出ることを発見。げ!もしかしてlibc絡みの問題?と一瞬思ったけど、確認してみるとlibc.so.3とかになっている。どうやらいわゆるglibcにはなっていないようなので、多分違うだろうと判断。次に、分からんときは他人のハマリを見るべし、とばかりにThe FreeBSD Project(Japan)の検索ページを利用する。すると、いたいた、同じハマリ方をしている人が....! でまあ、ここにはktermをリコンパイルするとか、いくつかシンボリックリンクを張るとか載ってたけど、実はなんてことはなくて、環境変数LANGをja_JP.EUCじゃなくて単にjaとしておいたのが間違いの原因と判明。VJEのREADMEにはjaにせよ、と書いてあったのに...。(ぶつぶつ)ともかく、~/.tcshrcをいじってsetenv LANG ja_JP.EUCとしたらなんなくエラーは消えた。ふ〜。

 vjed(かな漢字変換サーバ)とvje(VJE-XIMクライアント)は問題なく起動。付属のvpenというワープロソフトでちょっと試したみたところ、変換効率は以前に使っていたCannaよりも数段上。使い勝手もよさそう。こりゃあ、早くNetscapeとかktermとかmule(苦手なんだが...)とかで使えるのようにしたい!

 お次はNetscape Communicatorの日本語化。これはわかさひ君によると「かなり難しい」とのこと。が、自分でやるのは難しくても他人の作ったキットがあれば楽勝! なんと、こちらでは日本語化キットを公開してくれている。今までのNetscapeを使ってこれをFTPして(厳密にはFTPじゃない気がするが...)「いざ!日本語化!」と意気込んだところでまたまた壁にあたる。どうやらこの日本語化、インストール方法をちょっと変えないと使えないらしい。普通にpackageからインストールしちゃうと、/usr/local/bin/以下にプログラム本体が、その他のリソースはいろんなところ(分からなかった...この時点では)に入ってしまう。そこで、/usr/local/netscape/というディレクトリを作ってそこに解凍し、ここでキットを実行するらしい。う〜む、面倒くさくなってきた....。しかし、ここまで来たらやるしかない、というわけで、今までのNetscapeを削除して、新規にNetscapeをFTPすることに。だが、FreeBSD用のNetscapeってなかなか見つからない....。SunOSやらLinuxやらIRiX用はあるのに....。結局いろんなところを探して、ftp://ftp.eos.hokudai.ac.jp/pub/netscape/4.06/development/english/unix/freebsd/以下にやっと発見。で、日本語化キットの解説通りに作業したら....動かない!!!なにやらライブラリ関係のエラーが出ている。しかし、わけわからん....。よく見ると日本語化キットはLinux用でFreeBSD用ではないらしい。ううむ、ダメだ....というわけで今日は降参。(T_T)



98/9/2 AM  Mozilla 日本語化に挑戦 Part2

 今日は思い切って別の方法にしてみた。FreeBSDのCD-ROM(Unix User附録)に入っていたCommunicator4.04の日本語化バージョン(多分、無理やりメニューとかを表示できるようにしたもの)をとりあえずインストールして、これのリソースファイルをいぢることに。リソースファイルは通常/usr/local/lib/X11/app-defaultsに収められているのだが、Netscapeのはここにはなかった。仕方ないのでいろいろ探したら、/usr/local/lib/ja-communicator-4.04/Netscape.adを発見。このファイルに、VJEのREADME.txtにある通り、

*inputMethod: vje
*international: True

を追加する。そして試してみると....おお!めでたく入力に成功!うれし〜〜〜!

 ただ、使ってみるとやっぱり多少の不具合は残っている。途中で入力モードを切り替えると文字化けしてしまうとか....。あと、フォントが足りないせいか、ページが変に見える。この辺はフォントのインストールで解決するはずなので、後日やることにしよう!



98/9/14 AM  Mozilla 日本語化に挑戦 Part3

 前回、Web Pageが変に見える問題が発生したので、いろんなフォントをインストールしてみた。結局、ja-elisa8-1.0ja-k12font-1.0ja-kappa20-0.2ja-naga10-1.0ja-x0212fonts-1.0といったところをインストールしてみたが、どーもうまく行かない。それに、MacやWinのMozillaと違って変更内容がすぐには反映されないのでイヤになってくる。(ウチのMozillaは起動するのに1分近くかかるので...)

 しかし、思わぬところに答えがあった。(根本的な解決ではないのだが...)基本的に見づらい原因は「字が小さすぎる」ことにある。これは、我が家のモニタが14インチであることに起因していると思われる。そこで、X-Windowを起動する際に、

% startx -- -dpi 100

として起動すると字が大きくなって非常に読みやすくなる。うん、これでとりあえずは実用に耐えられる。というわけで、これで妥協しちゃうことにしたのだが、どうせなら常にこのオプション付きで起動したい。xserverrcを作成してその記述をしようと思ったのだが、どうもうまくいかない....。ううむ....どうしてだろ?
 しょーがないので、とりあえずはalias設定を.tcshrcに書き込んでまぁ良しとする。んん〜、なんかダサイな...。

 ちなみに前回発生した、“途中で入力モードを切り替えると文字化けしてしまう”問題だが、これは実は認識が間違っていた。切り替えによって発生するのではなくて、文字の削除(BSキーによる)によって発生するようだ。どうやらBSキーを押すと、1バイト分だけ削除するらしい。ということで、画面上では2バイト文字が1文字消えたように見えても、実際には1バイト分しか消えていない。その証拠に、1文字消した状態でもう1回BSキーを押しても、次の文字は削除されない。で、ここで新しい文字を入力するとちゃんと化けずに表示される。BSキーを1回だけ押した状態で新しい文字を入力し始めると、確実に化ける。なるほど、そういうことだったのか〜。ところでこれを解消する方法ってないんかな?



98/9/25 AM  Macとのファイル共有を!

 我が家にはデスクトップのパソコン(と呼べないのも1台あるが....)が3台ある。当然、Ethernetでネットワークを組んでいる。さらにNetGenesis4なるIPルータをかませてInternet接続していたりする。これはいわゆるIP Masqueradeをやってくれるモノで、FTPに多少のトラブルはあるものの、非常に便利で、各マシンから(とは言ってもSS2はモニタが冬眠中だが...)シームレスにInternet接続できるのは嬉しい。が、しかし、である。せっかくネットワーク組んでるのに、PC-98(FreeBSD)とPM6100(MacOS)間でデータのやりとりをするのに、いちいちFTPしているのはなんとも面倒くさい。やっぱ、少なくともMac使っているときはGUIしたい!と思う。

 というわけで、前置きが長くなってしまったが、Mac側からファイル共有できるように、PC-98(FreeBSD)側にNetatalkをインストールすることにする。まずはいつものように(楽チンなので....つい)Portsを使ってインストールすることに。ま、これはいつも通り簡単に終わる。

次にカーネルの再構築が必要らしい。何でも、コンフィグファイルに
OPTIONS NETATALK
という一行を追加してコンパイルするらしい。前回のコンフィグファイルを用いて再構築。ついでに前回消し忘れたsio1とsio2も削除。コンパイル後の新カーネルのサイズは1358432byte。前よりもやっぱり少し大きくなった。当たり前か...

make installでカーネルを入れ替え、/usr/local/etc/rc.d/にnetatalk.shという新しい起動スクリプトが出来ているのを確認して、再起動。

 今回は珍しくトラブルなしで起動した。MacOS側からセレクタでAppleShareを選択すると、orangeというマシン名が見える。これを選択し、IDとPassword(FreeBSDにログインできるもの。ただしrootはダメみたい)を入力すると、どうやらその人のホームディレクトリがMacOSのデスクトップにマウントされる模様。う〜む、とりあえずは満足だが、やっぱプリンタの共有やCD-ROMの共有もやりたいので、これは次回の宿題ということに....




98/10/26 AM  DNSの設定

 ついに、PC-98にDNSをやらせることを決心する。理由は2つ。1つはCGIの開発等で便利だということ。2つ目はやってみたいということ。まぁ、ほとんど2つ目ですね。

 いろいろとDocumentを読みながら勧めることに。最も参考になったのはこのページ。あとは山のように積まれたUNIX系雑誌の中からそれっぽいのを発掘したものも参照した。まずは、/etc/namedb/named.bootを書き換える。具体的には、以下の太字の部分を書き換えor追加した。このファイルはいわゆる逆引きの為のファイルで、よーするに、127.0.0.1はlocaohost.revを、192.168.0.*はinternal.revに書いてあるよ〜という意味。

 directory /etc/namedb

 ; type domain source host/file backup file

 cache . named.root

 primary 0.0.127.IN-ADDR.ARPA localhost.rev

 primary 0.168.192.IN-ADDR.ARPA internal.rev
 primary internal internal.zone

 forwarders 210.135.65.1
 slave



 次にnamed.rootを最新のモノにしたほうが良いということで、先述のページにあったURLからとってきたのだが、どうやら変更はない模様。ま、一応新しい方を/etc/namedb/に置く。
 今度はゾーンファイルの設定。まずは先ほどのnamed.bootで設定したlocalhost.revinternal.revを書く。まずはlocalhost.revだが、これは、/etc/namedb/make-localhostという生成スクリプトがあり、これで一発。次にinternal.revで、これはある程度書いてやらなくてはならない。とりあえず以下のようにしたが、ちょっと自信なし。(^^;;

 @ IN SOA orange.internal. root.orange.internal. (

  19981026 ; Serial
  3600 ; Refresh
  900 ; Retry
  3600000 ; Expire
  3600 ) ; Minimum
  IN NS orange.internal.
 5 IN PTR orange.internal.


 さてお次はinternal.zoneを書くことに。これは外部から問い合わせがあったときに、名前を解決するためのもの。まぁ、今回はローカル環境での稼働なので外部といってもMacだけなのだが。(SS2が生き返ればそっちもだけど)コレは以下のようにした。

 @ IN SOA orange.internal. root.orange.internal. (

  19981026 ; Serial
  3600 ; Refresh
  900 ; Retry
  3600000 ; Expire
  3600 ) ; Minimum
  IN NS orange.internal.

 orange IN A 192.168.0.5
 smpt IN CNAME orange.internal.
 ns IN CNAME orange.internal.
 mail IN CNAME orange.internal.
 www IN CNAME orange.internal.



 ポイントは下のほうで、CNAMEを設定することによって、www.internalとかmail.internalとかをすべてorange.internalの別名とする。まぁ、エイリアスみたいなもんかな。

 最後に/etc/resolv.confでネームサーバを127.0.0.1に設定して、名前解決をlocalhostで行うことを宣言。あとは/etc/rc.confでネームサーバの使用を設定すればOK。今回も前回に引き続きノートラブルで完了した。MacのTCP/IPコンパネでネームサーバを192.168.0.5(orange.internal)に設定。nslookupもちゃんと使えるし、Macからhttp://www.internal/~masaru-y/などとするとちゃんとローカルのWebサーバのページが表示される。また、外部サイトへのアクセスも全く問題なし!!
sansu.gif (1743bytes)