FreeBSDを学ぶ人のために: 再起編


はじめに

このあいだのFreeBSDを学ぶ人のためにを読んで、 (もうちょっとスペックのいい) キャンビーを上げますという奇特な方からの申し出があったので、 ありがたくいただきました。 前のマシン(ミルakaハチソン)には引退してもらい、 このマシンを子ミルと命名してまともに稼働するFreeBSD(98)機にしたいと思います。


現状

2000年3月30日

ええと。ようやくコンピュータを立ち上げたので、 さっそくFree-BSDをインストールしてみましょう。 ちなみに、今回のコンピュータは


2000年3月31日午前

フロッピーの調子が悪いと思って子ミルを解剖していろいろ調べたところ、 けっきょくCPUのオーバドライブのディップスウィッチを誤って 変更していたことに気付く。う。 こんなことで1/4日近く費してしまったのか。 あと、何が原因なのかわからないが、 メモリは32MB使えるようになった。

例によって98機で作ったディスクをIBM機が認識してくれないので、 2.2.8からインストールすることにする。あとで3.4に入れ直そう。


まあ2.2.1を入れて、 3.4用のブートディスクをなんとか作ればいいかと思って 2.2.1をインストール。 一回目、適当にやるとちゃんとブートしない。 もう一度やりなおそうとしたところで、 眠くて死にそうになり、少し寝る。

目を覚ましてから、例の『FreeBSD徹底入門(98)』に従って再インストール。 こんどは起動できた。さて、これでブートフロッピーを作れるのかな。

あれ、まだftpできない。ネットにつなぐのはどうやるんだっけ。 /stand/sysinstallで何か設定しなきゃいけないのか。 /stand/sysinstallの表示が文字化けだらけなので、 本に従って
set term=cons25w
とするときれいに表示されるようになった。 これでrootのシェルはcshであることがわかった。 shの場合はexport TERM=cons25wとやればいいらしい。 それからネットワークインターフェースを設定。 ちなみにネットワークカードの設定は前回と同様:
IRQ=3, I/Oport=0xc8d0
で動く。

あれ、pingもまだ有効じゃないな。とりあえず再起動してみよう。 あ、再起動したらpingできるようになった。よしよし。 じゃあ次は、ftpでftp.media.kyoto-u.ac.jpに入り、 3.4用のブートディスクが作れるようにファイルをとってこよう。

ん? ftpのときに-aのオプションが効かない。しかたないのでanonymousで。 あ、guestでもいいのか。3.4-RELEASEのfloppy98のところから kern.flpとmfsroot.flpをget。これだけでいいはず(某君によれば)。

ではブートディスクを作ろう。
dd if=kern.flp of=/dev/fd0.1200 bs=15k
とすれば…うまくいった。万歳。もう一つも
dd if=mfsroot.flp of=/dev/fd0.1200 bs=15k
として…あ、うまくいったようだ。 じゃあkern.flpで起動してみよう。 (以前はここで挫折した)

あ、どうもちゃんと起動しそうな様子。やったあ。 mfsrootフロッピーに入れ替えて…やった。無事起動しました。 あ、2.2.1のsysinstallとは若干違う。が、まあなんとかなりそうだ。

パーティションはデフォルトのままにしようかと思ったが、 ciceroなどを参考にして/homeを1500MBほど作っておこう。 大きすぎかな?

wd0s1a   /       50MB   UFS Y
wd0s1b   swap    69MB   SWAP
wd0s1e   /var    20MB   UFS Y
wd0s1f   /usr  1464MB   UFS Y
wd0s1g   /home 1475MB   UFS Y

ええと次は配布ファイルか。「すべて」にするか。 あ、暗号とportsはやめておこう。portsはあとでいいや。

ftp先はftp.media.kyoto-u.ac.jpで。あれ、書いてないな。 じゃあftp://ftp.media.kyoto-u.ac.jp/FreeBSD-PC98/で。 ネットワーク設定もやる。 うまく行くかな…。

あ、ftp先の指定は
ftp://ftp.media.kyoto-u.ac.jp/pub/FreeBSD-PC98/dists/
とするようだ。時間がかかりそうなので勉強しよう。新聞も読まねば。


あ、やっとインストールが終わった。 NFS設定とかはあとでやろう。 LINUXコンパチビリティ? なんだろう。 まあなんにせよ両立することはいいことだから一応YESにしておこう。

げ。LINUX関係のファイルをftpしているあいだに
/mnt: write failed, file system is full
とか出てきた。やばいなあ。

X-Windowの設定もあとまわし。よし、じゃ再起動。

あれっ。起動しない。bootの途中で終わって止まってしまう。 えええ。なんで? 画面の上の方に緑の線が出てる。これは。ひい。 `boot:'が出てきたときに-cを打つとリセットがかかってしまう。 わ。打つ手なし。

考えられる原因といえばLINUXコンパチのファイルの入れ損ねぐらいだが。 仕方ないのでもう一度最初からやってみるか。 今度は最小のセットアップで試してみよう。

パーティションを少し変えてみよう。varを多い目に。

wd0s1a   /       50MB   UFS Y
wd0s1b   swap    69MB   SWAP
wd0s1e   /var   244MB   UFS Y
wd0s1f   /usr  1220MB   UFS Y
wd0s1g   /home 1495MB   UFS Y

ええと、配布ファイルは最小構成でやってみるか。これでどうだ。


あ、今度はずっと速い。 とりあえずLINUXコンパチビリティはNOにしておこう。 さて、再起動。あ。動いた。なんでだったんだろう。 いろいろ入れすぎたせいか、 LINUX関係のファイルが途中で入り切らなくなったからなんだろうか。

とりあえず3.4の起動までこぎつけたので、いったん終了。万歳。 今後の目標。


2000年3月31日午後

さて、続き続き。まずftpで以下のパッケージをget(入手)。 /usr/tmpというディレクトリを作ってそこに入れる。

ええと、tcshはchpass -s tcshとしてからどうすんだっけ、 めんどうだから以前の.cshrcファイルを使おう。 あ、快適になった。

じゃあ次はemacsだ。あれ、なかなか展開しない。大丈夫かな…。 一応終わったが、
/usr/libexec/ld-elf.so.1: Shared object "libXaw.so.6" not found
だそうだ。X関係かな。どうしよう。

ま、おいといて。lynxはいったんログアウトしてから使うとうまく起動。 mtoolsとja-less、rsync、sudoはたぶんうまくいった。 次はskk。しかしskkを入れてもemacsがだめじゃ話にならないな。

あれ、
ja-skk-elisp-9.6
ja-skk-tools-9.6
が足りないそうだ。ftp先をどこかで指定してやる必要があったのかな。 とりあえずftpでその二つをget。 もう一度やってみよう。あ、うまくいったようだ。

emacs…もうめんどうだからmule-2.3を入れよう。また日和ってしまった。 pkg_add mule-2.3をすると、
sed: /usr/share/info/dir: No such file or directory
と言われる。とりあえずmkdirで作っておこう。 いったんpkg_deleteしてからもう一度。

いったんログアウトして。ぎゃ。また
/usr/libexec/ld-elf.so.1: Shared object "libXaw.so.6" not found
って言われてしまった。まいったなあ。

仕方ないのでネット上で調べる。あ、 あった。 やっぱりXを入れてないからだ。とりあえずbinだけ入れよう。

入れた。じゃあやっぱりemacs-20.4にするか。


あれ、binだけ入れてもやっぱり
/usr/libexec/ld-elf.so.1: Shared object "libXaw.so.6" not found
が出てしまう。しくしく。 めんどうなので、X関係のものを全部インストール。これでどうだ。

あれ、まだだめ。う〜ん、なぜなんだろう。 あ、今入った情報によると、 パッケージは/stand/sysinstallでやると 自動的に必要なファイルを取ってきてくれるそうだ。 じゃあそれでやってみよう。ついでに:

も入れよう。


あ。すべてうまく行ったようだ。emacsも起動。 じゃ、あとでskkの設定をしよう。


じゃ、skkの設定を。 その前に全然マニュアルが入ってないみたいなので (そういえば最小構成でインストールしたんだった)、 /stand/sysinstallして:

を入手。ええと、skkはどうやって使うんだっけ。 たしか某氏から以前メイルをいただいたよな…。

とりあえず、
apel-emacs20-9.22
というのと
leim-20.4
というのをパッケージで入れてみる。 これでダメだったらemacsには縁がなかったと思ってmuleに日和ろう。

う。
cannot open load file: skk
と出る。これはどうしたものか。 なんか「パスが通っていない」という問題のような気がする。

お。pascalの.emacsを参考にして

 (setq load-path
       (append
	'(
	  "/usr/local/share/mule/site-lisp/skk/" ;SKK 9.6
	  ) load-path))

としたらうまく行った。しかしまだ漢字も▽も出ない。 これはたぶんskkの設定がおかしいな。いや、
Variable enable-multibyte-characters is read-only
などと出てるから、どうもこれはemacsの設定のどこかに問題があるようだ。

う〜む。パッケージからやるのはやめて、 ここはmakeからやってみるか。 じゃ、まずいくつかpkg_deleteして(apel, leim, emacs, skk)、と。 次にftpで
emacs-20.5a.tar.gz
leim-20.5a.tar.gz
apel-10.2.tar.gz
を入手。 さらにskk.kuis.kyoto-u.ac.jpにftpして
skk9.6.tar.gz
を入手。 さらに、 ここから
skk10.56.tar.gz
も入手。

emacsとleimをそれぞれgzip -dで伸長させてからtar xfvで展開。 全部emacs20.5フォルダに入ったので、
./configure
make
make install
と呪文を唱えてみる。 あれ、失敗。起動しない。ずいぶん時間がかかったのに。

もう一度やってみよう。今度は
./configure --with-X=no
としてみるべし。
それからmake。 あれ、さっきmake installするの忘れてたんじゃ。 …。これでもだめだったらやっぱりmuleにしよう。 そもそもなぜこんなに苦労してまでemacsにせねばならないのか。

あ、とりあえずemacsは動いたぞ。じゃあskkを。あれ。 なぜかskk9.6.tar.gzをgzip -dできない。 crc errorというのが出る。しかたない、もう一度ftpしてこよう。

あ〜、もうめんどくさい。muleでいい、muleで。 /stand/sysinstallからmule-2.3とja-skk-9.6をインストール。

う。一発でうまくいった。なんなんだ。

(以前作った.emacsや.skkファイルを流用した)


ここから html-helper-mode.elとtempo.el(2.19.1.1)を取ってきて、
mule -batch -f batch-byte-compile *.el
と呪文を唱える。これでhtml-helper-modeが使えるようになり、 ようやく文明化した。あとはウェブとメイルか。これはまた明日。

目標達成度。


2000年4月1日

今日はapacheを入れてみます。Xもやってみますか。

あれ、apacheは一応立ち上がってるのか。じゃあ Xから。/stand/sysinstallからXF98Setupで:

これで起動すると。あれ、立ち上がらない。 ディスプレイも真っ暗になってしまった。やばい。 あ、なんとか復活した。

もう一度。カードをPC9821Cb(NKVNEC)→PCNKV/PCNKV2/NEC_CIRRUSにしてみよう。 あれ、まただめだ。どうやるんだっけ。

ちょっと不安になったので、 もう一度ftpでXFree86関係のファイルを入手。

もう一度PC9821Cb(NKVNEC)で。 う〜む。それでもだめ。 あと変えれるのはディスプレイの設定ぐらいか。 もうめんどうだからあきらめるかな。

あ、カードの設定のときに出てくるREADMEファイルを見ると ビデオカードの詳細な注意が書いてある。 どうも色数を256色でやるといいようだ。あ、立ち上がった。

ウィンドウマネージャが入ってないので:

などをインストール。げ。 調子にのって1024*768にしたらまた真っ暗になってしまった。 telnetして強制的にshutdown。死んだか? あ、大丈夫そう。 あ、いや、大丈夫じゃないな。やばい。

とりあえずもう一度XF98Setup。今度は
High Frequency SVGA, 1024*768 @ 70 Hz
1024*768, 256色
でやってみた。 一応動くようだ。 と思ったらまた反応しなくなった。 死んだようすなので、ふたたびtelnetでshutdown。 また殺ってしまった。

再起動してから、もう一度さっき動いていた設定に戻す。 とりあえずこれでいいや。

.fvwm2rcのファイルは繁雑なので、 fvwm2からtwmにしてみると、twmも(きちんと設定してあるやつは)繁雑だった。 .xinitrcをいじり忘れていたので、 なかなかtwmが起動しなくて困る。ああ、時間の無駄。


Xは動いたことにして、 次はapacheの設定。 Japanized Apache Server Projectや ciceroのファイルなども参考にしながら、 適当にhttpd.confファイルをいじる。 うん、動きました。

目標達成度。

まあ、メイルはとりあえず必要ないし、 プリンタの設定もまた今度やることにして、 一応これでいったん終わっておきましょう。 今回は割と順調に行きました。

ついでに以下のものを入れました。perlも勉強しないと。TeXも。

ん、音は出るかな。/usr/X11R6/lib/X11/xmcd/config.shで設定してみて…。 あれ、ぜんぜんあかん。

cdromが読めないので、/etc/fstabに次の一文を足してから、mount /cdrom。 あ、mkdir /cdromもする必要あり。

/dev/wcd0c		/cdrom		cd9660	ro,noauto	0	0

ん、netscapeが動かないので3.04に入れかえてみます。だめかな。 あ、3.04はうまく動きました。

う〜ん、普通のcdromはmountできるのに、音楽用CDはmountを拒否されてしまう。 enyaだからダメなのかな。

ついでに
xcdplayer-2.2と
radio-2.0.4
も試しに入れておこう。 あ、後者は発信する用だ。


う〜。こんなことしてる場合じゃないのだが、カーネルの再構築中。 ここが参考になる。PCM音源に設定したり、 使わなさそうなdeviceをコメントアウトしたり。

30分近くかかってmake depend; make。(もっとかな…) 次にmake install。これはすぐ。では再起動。

cd /dev
して、 sh MAKEDEV snd0。
これでサウンドデバイス用のスペシャルファイルができるらしい。

あ、enyaだ。ここに書いてあるとおり
xcdplayer -device /dev/wcd0c
とすれば成功。やったあ。
(xcdplayer -c /dev/wcd0cだと動かない)

しかしxmcdはやっぱり動かない。 Q&Aにも書いてあったけど、 デバイスを選択するときにどうしても/dev/rcd0cしか選べないんだよな。

あ〜もうあきらめた。


2000年4月3日

性懲りもなく続きを。 ちょっとmewを入れてみます。 ftpで

を入手。これはパッケージなので楽です。 mewはmewのウェブサイトから1.94.2を取ってきて、 /usr/local/share/に放りこみ、 make→make install。再起動してimsetupすると。

う。なぜかmule上では起動しない。 pathが通ってなかったのでpathを通したら、
`mew.el' was compiled for Emacs 20なんて言われてしまいました。 やっぱりemacsを入れないとダメなんですかね。

というわけでemacsをもう一度。

あれ、emacs上でmewを立ち上げたらFatal error (6)が出る。 う〜ん。

それはおいといて、skk-10.59を入れてみる。 あれ、emacsで立ち上げると漢字が出ないで????になる。 これはどうすればいいんだろう。emacsの設定の問題だな。 と思ったらmuleでも同じ症状が。あ〜もうだめ。

腹が立つのでmule, skkなど全部いったん削除。死ね死ね。 もう一度emacs-20.5を入れてみる。

う〜ん、同じ症状が。ドットファイルに変なことを書いてるのかな。

あ。親切なお方のおかげで問題が解決。.emacs.elファイルに
(set-buffer-file-coding-system 'iso-2022-jp-unix)
と書くと無事に日本語が出るようになりました。よかった。

あとはmewか…。

あ、xemacsだとmewは動く。メイルを送ることも受けることもできる。 ということは、 emacs上だとabortされるのは.emacs.elの記述に問題がありそうだ。

う〜ん、やっぱりmewは動かない…。しかしとりあえず今日はここまで。

あ。html-helper-mode.elなんかも消えていたので ここから
html-helper-mode.elと
tempo.el
を取ってきて、
emacs -batch -f batch-byte-compile *.el
と呪文をかけてemacsのsite-lispに入れておいた。

skkのserverも入れる必要あり。

をもう一度入れました。

あ。xemacsでhtml-helper-modeを使うには、
/usr/local/lib/xemacs/site-lisp/
以下に上の関連ファイルを入れる必要があるようです。なるほど。


2000年4月4日

namazuの基本的な使い方を覚えた。 mknmzでindexを作り、
namazu 検索語 index(のあるフォルダ)
という風にやれば一覧が出る。emacsでもできたが、 これはcgiを使わないと効果的には使えなさそうだ。 しかしそれはまた今度覚えよう。


im-130からim-140に入れかえてみたが、あいかわらずmewはabortしつづける。 某氏に教えていただきmew-19.54/Makefileを書きかえて、

  EMACS = emacs
  #EMACS = xemacs

  #ELISPDIR  = $(PREFIX)/lib/$(EMACS)/site-lisp
  ELISPDIR = $(PREFIX)/share/emacs/site-lisp

としからmakeしてもabortが出ることが判明。呪われている。

perlを実行するたびに変なwarning (LANG = "ja_JP.EUC"うんぬんかんぬんというやつ) が出るのでウェブで調べてみたら、 jperlを入れてないのが原因らしい。 そこで思い切ってportsを入れておくことにした(特に思い切る必要はないが)。

あ。FreeBSD-4.0RELEASEもすでに出ているのか(まだ(98)版は出ていない)。 せっかく入れたばかりなのに。

あれ、perlはja-perlをすでに入れていた。てことはなぜなんだろう。謎が深まる。

あ、mew-1.92.4をlynxで取ってきたもう一度makeしたら今度はうまくできた。 あ、ちゃんとemacs上で起動した。奇跡だ。奇跡だ。

mewは一度xemacs用にmakeしてしまうと、emacsでは使えなくなるらしい。 mew-1.92.4/以下をいったん捨てたあと、もう一度tarでファイルを展開し、 それから以下のようにMakefileを書き換えてからmakeするとうまく行った。

  EMACS = emacs
  #EMACS = xemacs

  #ELISPDIR  = $(PREFIX)/lib/$(EMACS)/site-lisp
  ELISPDIR = $(PREFIX)/share/emacs/site-lisp

pascal上のメイルはtarして全部millに移した。.forwardも設定。 これで今までpascal上でやってきたことのほぼすべてが、 mill上でできることになる(遅いけど)。万歳。

Xでemacsを立ち上げると日本語が全部白い四角(□□: こんなやつ) になって困っていたのだが、 このサイトをみると.Xdefaultsに
Emacs.Font: fontset-standard
と書けばいいことがわかる。


2000年4月5日

辞書が見れるように、

をインストール。ndtpの設定は大変だが、 日本語のinfoファイルを見ればなんとかなる。

発音記号が読めるようにと思ってbitmap-mule-8.2を入れてみたが、 font/make installがうまく行かない。とりあえず放棄。


2000年4月8日

以下、備忘録。自動でできるというウワサも聞いたが、 とりあえず練習と思って手動でやってみた。

ciceroの/var/log/httpd-access.logがとんでもなく大きくなっていたので、 http://www.apache.org/docs/misc/howto.html の記述を参考にして、手動で置きかえておきました。 ついでにhttpd-error.oldも同じようにしておきました。

一応確認のために手順を書いておくと: cd /var/log sudo mv httpd-access.log httpd-access-log.old kill -1 `cat httpd.pid` gzip httpd-access-log.old


usr/ports/wwwにあったcgi-lib-2.18というのをmake installしてみる。

パッケージでwwwstat-2.01をインストール。まだ使い方は知らない。 wwwcount-2.5を入れてみたいのだが、ftpサイトのパッケージにもないし、 portからmakeしようとしてもfetchができない。

> いや、ちょっとcgiの勉強をしてるんです。

/usr/local/etc/apache/httpd.confのOptionの項にExecCGIを追加し、
Options Indexes FollowSymLinks ExecCGI
に変更。さらにAddTypeの項に
AddType application/x-httpd-cgi .cgi
を追加。kill -hup `cat httpd.pid`。

む。手強い。動かない:-) /usr/logにCount.logなんかを作ったりしないといけないようだが、 またにしよう。

自分のディレクトリでcgiスクリプトを書いても動かない。 .htaccessを使うとなんかlynxが立ち上がらなくなる。 そこでふたたびhttpd.confファイルをいじり、

<Directory />
    Options FollowSymLinks ExecCGI
    AllowOverride None
</Directory>
としておいた。これでcgiは一応動くようになった。

とほほのWWWページ を参考にさせてもらってやったら、 なんとかアクセスカウンターが動くようになった。 いろいろ大変だった。

次は掲示板か?

とほほのページを参考にして、 フォームでメイルを送れるようになった。 メイルアドレスを書くと、そこにCcされるようになっているようだ。

さらに掲示板も作った。 これもとほほのページを参考にさせてもらった。 アクセスカウンタ以降はだいぶ容易にできるようになった。 これでとりあえずcgiの勉強は終わりだな(ちょっとセキュリティが心配だけど)。 そのうちプリンタの勉強をしよう。

なお、cgi関係のファイルはすべて~/kodama/wwwdocs/cgi-bin/以下に置き、 /usr/local/www/cgi-bin/には置いていない。必要であればコピーすること。


2000年4月10日

namazuをヴァージョンアップしておいた。 (1.3.0.8→1.3.0.11)

ヴァージョンアップって、どういう風にするんだろう? とりあえず古いのをpkg_deleteして、 新しいのを./src/configure→make→make installしておいたが。 これで一応動いている。


今後の課題


KODAMA Satoshi <kodama@ethics.bun.kyoto-u.ac.jp>
Last modified: Mon Jul 17 11:02:01 2000