funini.com 自由研究 FreeBSD

FreeBSD

Linuxにちょっと飽きたらBSD。 Unix = Linux と思っている人もぜひぜひ。
OSとしては全然違うのに、上に乗っかるソフトが同じだから、使う分にはあまり違いがないんだけど… いいような悪いような。

インストール

今回はThinkPad 240にインストール。FDDしかないので、ftpサイトからboot.flp, kern1.flp, kern2.flpとtoolsの下のfdimage.exeをダウンロード。C:\BSDに保存。 あとは以下のコマンドでフロッピーに三枚分のイメージをコピー。
C:\WINDOWS> cd c:\bsd
C:\BSD> fdimage -f 1.44M boot.flp a: (実行終わったらディスク交換)
C:\BSD> fdimage -f 1.44M kern1.flp a: (実行終わったらディスク交換)
C:\BSD> fdimage -f 1.44M kern2.flp a: (実行終わったらディスク交換)
終わったら、boot.flpをコピーしたフロッピーをつっこんで起動。 交換を求められるとおり、boot→kern1→kern2→bootの順に投入。
インストーラー立ち上がるので、standardを選んで適当に進める。(このへんは他ページをどうぞ) インストール元はftp-passiveで、配布元サイトはftp.jp.freebsd.orgあたりを選択。 入れるものはx-kern-developperで、あとPackageでemacs, vim, w3m, sudoあたりを入れておく。

ネットワーク

基本的には/stand/sysinstallのインストーラーでConfiguration --- Networksでするけど、 うまく反映されない時はifconfigで直接指定すると出来た。
# ifconfig fxp0 123.4.5.6 netmask 255.255.255.0
あとなんかネットワークが遅いなぁ、と思っていると、井谷さんから「ネットワークカードがFull Duplexになってないんじゃないの」との指摘。 Full Duplexに対応したハードウェアだと同時にデータの送信と受信ができるんだけど、OS側でそれを「データがコンフリクトしてる」って勘違いして速度を絞ってしまうらしい。
ifconfig fxp0 media 100baseTX mediaopt full-duplex
すると、だいぶ快適になりました。

時刻設定

まずはタイムゾーンをlocal timeのasia...JSTに設定。
/stand/sysinstall
でconfifure ... Time Zone 以下は適当に。はじめは多分noを選ぶ。
肝心の日付・時刻の設定は
# date 0501011234 (2005年1/1 12:34)
みたいな感じでできます。

X系

xorgcfgまたはxorgconfigで設定します。前者のがたぶん楽です。-textmode付けるのがお勧め。 設定したらstartxしてみて、不満だったら設定をちょこちょこいじったり。
# xorgcfg -textmode
# startx >& out
(outを見ながら/usr/X11/xorg.confを編集)
結局、うちではこんな感じになりました。 FreeBSDならではのポイントは、マウスがps/2じゃなくてautoまたは/dev/sysmouseなくらいかな。
あと別のとこでも書いたけど、kinput2の設定は、
setenv  XModifiers @im=kinput2
を忘れずに。あとはkinput2 -cannaとかで立ち上がる。
最近はまったのはLANG。LANG=CだとMozillaとかでShift-space押してもkinout2のウィンドウが出ません。 アプリケーションによってはLC_CTYPE = ja_JP.eucJPでOKみたい。

ソフトのインストール・パッケージ

一番初心者向けなのは、/stand/sysindtallからパッケージをインストールすること。
Configure → Packages → (ホスト選択) → パッケージ名選択 でOKです。
もう一つはportsを使う方法。
$ cd /usr/ports/
して、その中で使いたいソフトのディレクトリに移動して、make installします。
$ cd /usr/ports/editors/emacs
$ sudo make install
あるいはportupgrapdeってツールを入れると、パッケージ検索やインストールがもっと簡単になります。emacsを入れたければ、
# portinstall emacs
でおしまい。portsupgradeは/usr/ports/sysutils/portupgradeからインストールできます。

起動時の自動起動

一般的には、/etc/rc.d/と/usr/local/etc/rc.d/に入ってるスクリプトは全部実行される。 (startが付けて呼ばれる)  postgresとかがこの例。
ただ、apacheとかは特定の変数を設定しないと自動起動しない。 あるプログラムを起動時に自動実行するように設定したい場合は /etc/rc.d や /usr/local/etc/rc.d 内の
# /etc/rc.d/(スクリプト名) rcvar
を実行した結果を /etc/rc.conf に付け加えて、エディタで NO → YES に変えるとよいようです。 (経済学部の井谷さんから教えていただきました。 オリジナルソース:)