HOME > FreeBSD 3.5.1R | Last Updated: 2001-11-23 |
Thu Apr 06 13:06:18 2000
FreeBSD2.2.8Rの入れてある notePCに、FreeBSD3.4Rを入れることにしました。この notePCなら音も出るし、X serverもXFree86 3.3.5には用意されています。
以前downloadした FreeBSD3.4RはHDDの空きを増やすため消してしまった。 BSDmagazine #3を買ったので、FreeBSD3.4Rは入っていたけど、packagesは入ってないね。ports(srcをFTPでとってきて自動的にpatch,compile,installを行なうsystem)はどうも失敗しがちなので、無くちゃしぬほど基本的なアプリは packages(binary)のほうを使ってインストールしたい。
FTPでまたダウンロードする。 packagesだけダウンロードすればいいんだけど、どれをdownloadするか。 無くちゃ絶対こまるよ、というアプリだけダウンロードしておけばいいだろう。
bash2.03 ja-less emacs ja-kon ja-kterm ja-man ja-man-docといったところか。 ほかにも、
ja-netscape ja-grepなどをdownload。 あと、INDEXファイルを検索して、依存ファイルを調べてdownloadしとく。
installしましたー。
A:\> fdisk /mbrで booteasyを消す。
A:\> fdiskで、非MS-DOS領域を消す。これで FreeBSD2.2.8Rの消去完了。
C:\FREE___\pao> fdimage -v kern.flp a:おそかった。1枚 6分かかった。そのうち 5分はフォーマットに費やしたんだけど。そいつで起動。
# /stand/sysinstallして、Configure - distribution で paobin と paosrcをinstall。packagesに関しては、C:/FREEBSD/packages/All/ の下にいろいろ置いておいたのだけど、sysinstallでは認識していなかった。しかたないんで、pkg_info, pkg_add でinstall。その際、directory名補完がないとつらいので、bashをまず入れる。Ctrlキーの位置がちがってなれないので、keyの位置変更を行なう。慣れない viで行なってみた。
まあ 以前とほとんど違いはないのであっけなかった。「FreeBSD徹底入門」はあいかわらず役にたったけど。
packagesについて。 emacs20.4.1は、emacs20.6がでている今どうかとも思ったけど packagesで入れてみた。pentium133MHzでは、起動が重いね。動作speedはもんだいないみたいだ、consoleでは。
あと、kernelを PAO_ALL を元に再構築をしなくては。再構築することで、soundをならせるようになり、起動も早くなる。
# dmesg >dmesg_old_log.txt
としてそのtextfileを見ながら、not found になっている deviceをPAO_ALLからcomment outしておく。 LINTファイルを見て、soundの設定を足しておく。
kernel再構築の方法は、FreeBSD Handbookに書いてある。
何度 compileしてもうまくいかなかった。UNIX Magazine見ると、PAO_ALLを compileしてみて compileできなかったら、srcの installに失敗しているという tipsがあったので、それしてみたら失敗した。srcの installがうまくいっていなかったので、/stand/sysinstallして srcを install。そして、その次に PAOsrcを install。これでいいか? PAO_ALLをcompileしてみると成功したので、srcの installは OKになった。そして、修正した kernelを compile、installした。音もでるようになった。結局こういう kernelになった。
FreeBSD2.2.8Rのconfigファイルに置き換えただけではだめだった。それで、最初 GUI版の XF86Setup をするとうまくいかなかった。テキスト版の xf86configを実行するとかなりうまくいったので、それを以前のデータとつきあわせて修正した。そして、800x600x16bitColor での表示ができた。 /etc/XF86Config
Section "Files" RgbPath "/usr/X11R6/lib/X11/rgb" FontPath "/usr/X11R6/lib/X11/fonts/misc/" FontPath "/usr/X11R6/lib/X11/fonts/75dpi/" EndSection Section "Keyboard" Protocol "Standard" AutoRepeat 500 5 # XkbOptions "ctrl:swapcaps" XkbRules "xfree86" XkbModel "pc101" XkbLayout "us" XkbOptions "ctrl:nocaps" XkbKeymap "xfree86(us)" EndSection # ********************************************************************** # Pointer section # ********************************************************************** Section "Pointer" Protocol "PS/2" Device "/dev/psm0" Emulate3Buttons Emulate3Timeout 50 EndSection Section "Monitor" Identifier "TFT10" VendorName "Panasonic" ModelName "Let'sNote AL-N1" HorizSync 30-64 # multisync VertRefresh 50-85 Modeline "640x480" 25.18 640 664 760 800 480 491 493 525 ModeLine "800x600" 35.2 800 838 900 954 600 601 603 648 EndSection # ********************************************************************** # Graphics device section # ********************************************************************** # Device configured by xf86config: Section "Device" Identifier "ct65550" VendorName "Chips & Technologies" BoardName "ct65550" VideoRam 1024 EndSection # ********************************************************************** # Screen sections # ********************************************************************** # The Colour SVGA server Section "Screen" Driver "svga" Device "ct65550" Monitor "TFT10" Subsection "Display" Depth 16 Modes "800x600" ViewPort 0 0 Virtual 800 600 EndSubsection EndSection # The 16-color VGA server Section "Screen" Driver "vga16" Device "ct65550" Monitor "TFT10" Subsection "Display" Depth 4 Modes "640x480" "800x600" ViewPort 0 0 Virtual 800 600 EndSubsection EndSection # The accelerated servers (S3, Mach32, Mach8, 8514, P9000, AGX, W32, Mach64) Section "Screen" Driver "accel" Device "ct65550" Monitor "TFT10" Subsection "Display" Depth 16 Modes "800x600" ViewPort 0 0 Virtual 800 600 EndSubsection EndSection
といっても、Sambaで fileSystemの整合性をとったりはしない。FTPで fileをやりとりして、telnetで Windowsから FreeBSDを操作する、というだけ。
C:\ultra> winipcfgとすれば 自己のIPアドレスを確認できる。
root@~# ifconfig -aで 自分の使っている LANインターフェイスの デバイス名を見る。今回は PCMCIA(PCカード)のLANカードなのだが、ed0 がデバイスになっている。
root@~# ifconfig ed0 inet 192.168.0.3とすれば Windows98から、FFFTPや TeraTermでFreeBSDに接続できた。 なのだが、毎回 ifconfigを唱えるまでもない。 /etc/rc.conf に次のように加えておく。
ifconfig_ed0="inet 192.168.0.3 netmask 0xffffff00" #letsnote pccard_ether="ed0" # PC Card ethernet interfaces (or NO).
Sun May 21 22:21:57 2000
pppでinternetに接続するのに、てまどった。
jman pppを読んだ。まず、termで手動で接続に成功した。
そのとき、 /etc/ppp/ppp.conf はこうなっていた。
default: set device /dev/cuaa0 set log Phase LCP IPCP CCP tun command set speed 115200 set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \"\" AT&P2 OK-AT-OK ATE1Q0 OK \\dATDP\\T TIMEOUT 40 CONNECT" set timeout 0 set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0 add default HISADDR enable dns allow users root,itouh isp: set phone 1234567 set authname itouh@fa2 set authkey ******** set mtu 576
具体的な手順は、 まず、rootになる。(/usr/sbin/ppp はrootしかpathがとおってないので)
itouh@~$ su - Password: root@~# ppp Working in interactive mode Using interface: tun0 ppp ON > term deflink: Entering terminal mode on /dev/cuaa0 Type `~?' for help at&p2 OK atm0 OK atdp1234567 login: itouh@fa2 password: ********
これでenter押せばつながる。(UNIX的なlogin認証か? と思ったけど違うことが後で分かった) 切断するには、
PPP ON > close ppp ON > quit all
そして、手動termじゃなくてもOKになった。 /etc/ppp/ppp.conf は次のごとし。
default: set device /dev/cuaa0 set log local Chat Phase LCP IPCP CCP tun command set speed 115200 set phone 1234567 set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \"\" AT OK-AT-OK AT&P2 OK AT\ M0 OK ATE1Q0 OK \\dATDP\\T TIMEOUT 40 CONNECT" set timeout 0 allow users root,itouh isp: set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0 add default HISADDR enable dns set mtu 576 set authname itouh@fa2 set authkey ******** set login ""
set dialに関しては、jman pppの最後のほうに説明が書いてある。あと、modemについていたATコマンド説明テキストを読んだ。 at&p2 でダイアル(pulse)を倍速にする。 atm0 で モデムからのピギャー音を無くす。 atdt (toneすなわちピボパ)ではなく、atdp でpulse(プルプルプル)と指定。
set log local Chat で 認証フェイズのどこがつまずいてるか画面に表示される。 enable dns で、DNSサーバを入力しないで済む (Windows95/98では入力させられた)。 set login "" は、PAPかCHAPを使っているようなので loginスクリプトが要らないということらしい。
具体的なつなぎかたは、まずrootになって
itouh@~$ su - Password: root@~# ppp isp ppp ON > dial
で、OK。 切断のしかたは、enter押して
PPP on>
を表示させ、
PPP on> close PPP on> quit all
でOK。
具体的にいうと、FreeBSDのwebブラウザはあんましよくないので、Windows98のIE5.01が使いたいんだ。Windowsで直接 netにつないでもいいのだけど、Windows98マシンのほうは serialPortが空いてない。FreeBSDマシンにモデムがつないであるので、それが使えればいいのだけど..と思った。
そこで、user-pppの一機能である、NATを使おうと思ったけどさっぱりわからない。FreeBSDなら、defaultrouterを設定すればいいらしいけど、Windows98だとどうすればいいの? 「スタート-設定-コントロールパネル-ネットワーク-ゲートウェイ」かなぁ? よくわからないんで やめておいた。
ようするに、proxyソフトを入れればいいんだ。FreeBSDのサイトのports紹介のページで、ジャンル wwwを見る。apache, delegateとかが有名だけど..WWWOFFLE、これがよさそうです。cacheにいろいろファイルを貯める機能があって、offlineのときもそのcacheを見れるらしい。
前述の「FreeBSDのサイトのports紹介-www」から、wwwoffle-2.5eのパッケージをダウンロードする。rootになって、pkg_addする。/var/spool/wwwoffle/ のdirectoryにある wwwoffle.conf.install を wwwoffle.confという filenameで copyする。wwwoffle.conf を、emacsなどでちょっと書きかえる。具体的には、
AllowedConnectHosts
{
192.168.*
#### Example ####
# Only allow connections from hosts in the foo.com domain.
# *.foo.com
}
とする。そして、
# wwwoffled # wwwoffle -online
とする。wwwoffledはwin98にとってのプロキシサーバで、wwwoffleのほうはhttpなどを代理で取ってきてcacheに貯めるプログラムらしい。
Windows98のほうでは、「スタート-設定-コントロールパネル-インターネットオプション-接続-LANの設定-プロキシサーバを利用する(192.168.0.3:8080),ローカルアドレスではプロキシサーバを使用しないにチェック」と設定する。わお、見れた。IE5.01で webを見ることに成功。IE5.01以外の softでは、個別に proxyを設定する必要がある。
FTPは通らないみたいだ、と思ったけどFTPソフトにプロキシ(192.168.0.3:8080)を指定すればOKだった。
HDが 1.0GBになった。
FreeBSD3.5.1Rを入れることにした。BSD magazine No.5に入ってた。PAOのフロッピーを作る。20000727のkern.flp と 20000729のmfsroot.flp を fdimageでフロッピーにコピー。paobin, parsrcディレクトリを置いた レイアウトを、notePCの C:\FREEBSD 以下にLAN経由でコピー。
CLImodeを選んで、flags npx0 1 と入力(私のNotePCは TROUBLE.TXTに載っているAL-N1というある意味選ばれた機種なのでこのじゅもんが必要)。Version を FreeBSD3.5.1Rに変更しておく。NoAnonyFTPと、TimeZoneだけYes。今度は心を入れかえて、Xを使用しない、Linuxエミュレーションも使用しない、という硬派な仕様でinstall。Developerを選んだあとで、customを選んで[SPACE](!ここでENTERを押すとメンドウになる) - compat??を選択、あと、下のほうの paobin, paosrcを必ず選択。Exit Install で再起動して、OK! 今度は起動したぜ。kernel は PAOBINになってる。再起動のときも boot -c と入力、flags npx0 1 と入力、quitと入力したけどしなくてよかったようだ。
パッケージをinstallする。 % /stand/sysinstall で、DOSからpackagesを選ぶのだが、最初は CD-ROMに入ってた ja-man, ja-man-doc, ja-groff, ja-lessを入れた。lessは、jlessという名前で入ってた。FreeBSDのrootは、シェルがcshなので、入れてすぐは検索してくれない。なにかのコマンド打ちこんで コマンドのキャッシュを更新しないとならない、しかし忘れてるし。いったん shと入力してシェルを換えて、cshに戻すとjlessが使えるようになった。
さて、いくつかのアプリは自分でコンパイルしてみようかな、と思った。まず、root以 外のユーザを登録しなくては。 今までは adduser(8)を使っていたので、/etc/groupの書式とか全然分からなくてすんでいたけど、やっぱり知っておいたほうがよさそうだ。調べることにする。 man group 見るとわりと分かりやすく /etc/group の書式が書いてある。 man 5 passwd で /etc/passwd と /etc/master.passwdの書式がわかる。
/etc/passwdのフィールドの意味は nameOfUser:encryptedPasswd:UserID:GroupID:Usersclass:PasswdchangeTime:accountExpire:gecos_generalInfoAboutUser:homeDir:shellnameOfUserとuidはuniqueでなくては。同じloginNameやuidが複数行あるのは普通ミスでそうなっている、どれか1つがランダムに選ばれる。 loginNameは、'-'で始まってはならない、大文字や'.'も使わないのを強く勧める、mailerが混乱するから。encryptedPasswdは暗号化されているが、空の場合は、passwordなしでマシンにアクセスできる。管理上のaccountはpasswordフィールドに * を含んでいて、normal loginを許可しない。
groupIDはユーザの所属するgroupのこと。ユーザはいくつものグループに所属することができるわけだが、ここで示すのは主要な1つである。2次的な重要性のグループは、/etc/group から選ばれる(?)。
class は、ユーザのlogin classのkeyである。login classとは、login.conf(5)で定義されている、ユーザのattribute,accounting,resource, env の設定データベースである。
passwdchangetime は、数字(秒)である。epoch(?前に変更したときのこと?)からパスワードが変更されるべき時刻までの。空か0になっていると、その機能は働かない。
accountExpireは、数字(秒)である、epochからaccountが権利消滅するまでの。空か0になっているとこの機能は働かない。
gecos_generalInfoAboutUserは、普通','でseparateされたsubfieldからなる。 usersFullname,usersOffice,usersWorkPhone,usersHomePhone
finger(1)やmailerで使われる。full nameフィールドに'&'があると、このフィールドを使うプログラムはそれ(fullname)の代わりに accountの大文字バージョンのlogin nameを使う。
home dirは、loginしたときにuserが置かれる場所。
shellは、ユーザの好むshell。もし空だったら /bin/sh と推測される。
nologin シェルなど、セキュリティを理由にsystemへのアクセスを拒否するスクリプトがセットされている場合、注意してほかの環境変数をもちこまないようにするべき。sh に -p フラグをつけてもできる(?)。
長いので、ここまで。次に man 8 vipw を見る。
適切なlockをかけたうえで、passwordfileを editできる。defaultのエディタはvi(1)。 -d オプションをつけると別のディレクトリを指定できるが、つけないと /etc/のパスワードファイルに働く。viの操作に関してはvipw は、passwordエントリの一貫性をチェックする。不適格なエントリがinstallされるとパスワードファイルを許可しない。editをもう一度やるように促される。verify(正確性調査)をしたあとは、vipwは pwd_mkdb(8)を使って user databaseを更新する。これは backgroundで動作する、非常に大きなsiteでは数分もかかることがある。更新が完了するまでは、password fileは ほかの更新に使用できなくなり、新情報はプログラムに使えない(?)。
FreeBSDに入ってる viは、正確には nviという、オリジナルのviと bugまでが同じにしてあるもの。ところで、viは、ヴイアイと読むらしい。「UNIX 用語 由来/読み方辞書 version 1.6 (Feb 13 1995)」に書いてあった。 man vi して、FAST STARTUPを読む。
ちょっとずつ分かってきたかな。いわゆるフリーカーソルじゃないんだね。 文字のある場所しか動けない。
行末は、文字のあるとこまでしか動けない。その文字の次(右)に、入力したいなら、a を使って挿入モードにすればいい。
テキストファイルが行末で終わってるけど、次の行に打ちこみたいときは、o で挿入モードに移行すれば、次の行(の行頭)にカーソルが行っている。o を押すまえにカーソルが前の行の先頭にあろうが途中だろうが、次の行の行頭にカーソルは移動している。
/etc/rc.conf の行末に、
keymap="us.iso" # keymap in /usr/share/syscons/keymaps/を付け加えた。
コマンドモードで、 :w で書き込む。 :q でvi終了。 :q! で書き込んでなくてもvi終了。
/usr/share/syscons/keymaps/us.iso.kbd で、
058 clock clock clock clock clock clock clock clock O
この行にカーソルを置いて o で下に1行空けた
029 lctrl lctrl lctrl lctrl lctrl lctrl lctrl lctrl O
この行を、行頭にカーソルを置いて y$ で行末までコピー。
058 clock clock clock clock clock clock clock clock O
の行の下のさっき作った空行に、カーソルを置いて p でペースト。
1つ上の行(058 clock clock....)にカーソルを置いて aだと行の先頭の隣りになってしまうので、 i で挿入モードにて、# を入れてcomment行にする。
:w で書こうと思ったら、permission が read onlyになっていた。:w! で override できますよ、といわれたとおり :w!した。
:qで終わり。
# jless us.iso.kbd
とすろと、変更は反映されていた。ちゃんと書き込めてるな。
これで CapsLockと書かれているキーも、Ctrlの役割を果たすようになった。
Escと Tildeの入れ換えはしなくていいかな、と思った。rebootして実際にキー入れ換えさせた。Caps押しても ランプが光らなくなったぞー。
vi使いの人は ESC は 1の横にしてるのか、^ は、Shift+6だけど、6のキーは 右手で入力か左手で入力してるのか、きいてみたくなった。フルキーボードだと、1の横のほうが遠くなくていいけど、ノートPCだと変わらないからなぁ距離。今まで 6のキーは左手ひとさし指で入力してたけど、右手のほうが入力しやすいと気がついた。
うっ、
DOS領域がmountされていない、というか /dosディレクトリが無い。
さっそく
# mkdir /dos
して、
# dmesg | jless
で
MS-DOS HDのデバイスを調べる。
# ls /dev/wd* | jless
でも見てみる。
# dmesg | grep wd
で
見ると、
wdc0 at 0x1f0-0x1f7 irq 14 on isa
wdc0: unit 0 (wd0): <TOSHIBA MK1002MAV>
wd0: 1033MB (2116800 sectors), 2100 cyls, 16 heads, 63 S/T, 512 B/S
wdc1 not found at 0x170
changing root device to wd0s2a
って dmesgに書いてあるけど....
そうだ、/etc/fstabを見よう。
# jless /etc/fstab
# Device Mountpoint FStype Options Dump Pass# /dev/wd0s2b none swap sw 0 0 /dev/wd0s2a / ufs rw 1 1 proc /proc procfs rw 0 0と書いてありました。 man fstabすると、usf..a local UNIX filesystem どこ見ればいいんだっけ?
/dev/wd0s1 が fatすなわち MS-DOS領域!
/dev/wd0s2 が FreeBSD領域だった。
# mount_msdos /dev/wd0s1 /dos
とすれば
、
# ls /dos
で見えるようになった。
# cp /dos/freebsd/packages/*.gz .
でコピーした。
# tar zxvf bash*
で解凍した。インストールは、
# sh ./configure <-- shをつけるのは、cshの以前のやつ(system V)はまずいかもって書いてあるから。FreeBSDは BSDで SystemVじゃないけどつけとこ。
# make
# make install
ですね。
-->
ところで、FreeBSDは何MBのHDを占有してるのかなぁと気になったので、configure中に、man duとみて、
# du -sxk
とやってみた。
-xはmountを横切らない。-kは KB単位で表示。-sは まとめて表示。
386035になってるな。
386MBってことか。
さっきbashやらemacsをコピーしてきたので、それを除くと 350MB程度かな。
bashは /usr/local/bin/bash に installされてたぞ。
mkdirで /homeとその下につくって、
Ctrl-D を何回か押して logout。
itouhではloginできなかったので(パスワードがだめなんだろうなぁ)
rootで loginして、
# passwd itouh
して パスワードをアップデートした。そしてまた Ctrl-d でlogout。
itouhでlogin。おおっできた!しかも、bashが起動している!しかも、
# pwd
で確かめると ちゃんと /home/itouhにいるぞ!
英語のmanを読んだのは無駄じゃなかった。
/etc/fstab に
/dev/wd0s1 /dos msdos rw 0 0
を追加して reboot。
# ls /dos
で見えるかな。お、見えた。
konがインストールできない。FreeBSD3.5.1Rで、portsのとこにあった ソースのtarballとpackagesを両方ためしてみたけど、どちらもだめ。packagesは、インストールはできたんだけど、それでは起動と
# kon
とすると、
/usr/libexec/ld-elf.so.1: Shared object "libc.so.4" not found
とでる。
sourceのほうをcompileしようとしたけど、/dos/
あれ、
# make config -f Makefile.FreeBSD
とすると、どうかな?
なんかいけそう。
なんせXもkonも入ってなくて、日本語がまだ見れないから、
/doc/QINSTALL.ENG
を見ながらやってるけど。
make depend
make
make install
して
kon
とやったらエラーはでないけど、画面になにもでない...。画面の垂直方向真ん中くらいの、水平方向左端に カーソルが点滅してます。
exitとやったら元には戻ったけど。どうするか...。
FreeBSD Search(http://www.jp.freebsd.org/search.html)で検索してみると、「konは設計が古くて、今のFreeBSDでは不都合がある」というような記述がいくつか見つかりました。X入れたほうがいいってことかな。
と思ったけど、/usr/local/etc/kon.cfg を見ると、 bdf fontを /usr/local/lib/fonts/k14.bdf.gz などの場所に置くことになっているけど フォントが置いてなかった。 置いたら、まともに文字が出た。よかった。 # cp man/ja/man1/kon.1.gz /usr/share/man/ja/man1 として、日本語manも入れておいた、と思ったけどこれでは # jman kon としても無いっていわれる。
Sun Oct 22 12:31:13 2000
Emacsをコンパイルするために、emacs-20.7.tar.gzと、leim-20.7.tar.gzを解凍して、そのなかの INSTALLを見て、/etc/MACHINESを読む。FreeBSDでは、gmakeが必要とかいてある。packagesを使い、gmakeをインストールして、gmakeとやってみたら、shared library not foundとかいう。いまの FreeBSD packageはまともにインストールできないのがやたら多いような気がする。2.2.8Rのときはそんなことなかったのに。どうすりゃいいのかなぁ。gmakeのソースをとってきてコンパイルするしかないよな。
http://emacs-20.ki.nu/
Sun Dec 03 21:15:50 2000
普通のmakeでインストールしてみたら、ふつうに進む。いけるかな、と思ったら、disk fullでとまった。df -kしてみたら、capacity 105% だって。確かにHDを使いはたしてる。もう全部消してやるー。 ところで、Shared Objectがない、と言われる件だけど、FreeBSD4.xとFreeBSD3.xでは libcのバージョンがちがって、今準備されてるパッケージはFreeBSD4.xにあわせてあるらしい。FreeBSD3.5.1ではパッケージ使えない、のかな? packageのWebページには、「FreeBSD3.xでも使える」って書いてけど...。
とおもったけど、それはミラーFTPサイトが置いてないだけだった。ftp://ftp.iij.ad.jp/ のFreeBSD3.5.1Rのpackagesディレクトリはほかのディレクトリへのシンボリックリンクになっていて、4.1.1Rと共通のものをダウンロードしてね、という意図だと思っていたけど、本家のFTPサイトではちゃんと 3.5.1Rのpackagesディレクトリが存在してた。
www.FreeBSD.org/ja/FAQ/applications.html
ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-3-stable/All/
gmakeとかautoconfとかgettextとかm4はパッケージを使ってインストールできた。でも emacs-20.7はインストールはできたんだけど...動かない。
$ emacs -vとすると、
/usr/libexec/ld-elf.so.1: Shared object "libXaw.so.6" not foundってでる。でもこれはパッケージがうまく作れていないんじゃなくて、X Window Systemを入れてないのが原因みたいですね。libXって Xのshared fileだよね...。
$ dfってすると、Avail 91001 (HDの空き 91M)ってでてくるし..足りないなぁ、X入れるのにも、emacsのソースをコンパイルするにも。
FreeBSDで
# ipconfig ed0 inet 192.168.0.3 netmask 0xffffff00と入力して、LAN接続する。Windowsのほうで ftpdをたてる。(exeファイルへのショートカットを作ってプロパティを表示し、「リンク先」のexeファイルの後ろに ユーザ名とパスワードと「-w」を入れておく。「作業フォルダ」に自分が配布したいファイルのあるディレクトリを設定しておく。あとは実行するだけ)
FreeBSDから
# ftp 192.168.0.2として
w3mは、
./configure
make
make install
make clean
でインストール完了。
それを使って HTMLドキュメントを読む。
# tar zcvf ~/du_contrib.tgz contrib/*
とした。成功した。
# ls -l ~
とすると
du_contrib.tgz は 22325407 (22M)になった。
ftpでWinにつないで、
bin
put du_contrib.tgz
で送り、Windows側でファイルが正しいかどうかチェックしてから、FreeBSD側を消す。
# rm du_contrib.tgz
# cd /usr/src
# \rm -r contrib/*
df すると、Avail 208797 (HDの空き 208M)になってる。これなら、コンパイルできるだろう。
get emacs-20.7.tar.gz
get leim-20.7.tar.gz
get apel-10.2.tar.gz
get skk10.62a.tar.gz
get skk-jisyo.m
# tar zxvf emacs-20.7.tar.gz # tar zxvf leim-20.7.tar.gzとしてから 2つのtar.gzファイルを消すと、Avail 141675 になった。./INSTALL を読むと、一時的に 70+35(=105)MBが必要になるようだ。 ./etc/MACHINESを読むと、FreeBSD では「gmakeが必要だった、'gmake install MAKE=gmake'としろ、でも最近の報告だと、NetBSDではシステムに最初からあるmakeでも大丈夫らしい」と書いてある。 ./INSTALLを読むと、「Xが存在するけど Xで使わないときは、'./configure'するとき'--with-x=no'と指定しろ」と書いてある。でもここでは Xが入ってないことを自動的に検出するので書かなくてもいいだろう。
# cd emacs-20.7 # ./configureする。 lisp/paths.elを見たけど、pathに問題はないみたい。lisp/site-init.el を書き加える必要もないようだ。etc/TERMSを見たけどよく分からない。
# gmake # gmake install MAKE=gmakeコンパイルとインストールには多少(数分)またされた。
次に、apelを入れよう。これは、SKKを使うために必要になる。SKKより先にインストールする必要がある。
# tar zxvf apel-10.2.tar.gz # cd apel-10.2 # gmake installで終わり。gmakeでなくても別によかったと思うけど。
次は、skkのインストール。
# tar zxvf skk10.62a.tar.gz # cd skk-10.62a # make (# make what-where) しなくてもいい # make installskk.texiをformatしているとき、日本語がでてくるのだけど、英語コンソールで見てると文字化けみたいに見える。あとで、/usr/local/info/dir に
Packages * SKK: (skk). Simple Kana Kanji Conversion programと付け加えて M-x infoで見てみると化けてないからよし。.emacs, .emacs20, .skk-jisyo, .skk-record を準備すると日本語入力もできた。
# \rm -r apel-10.2/ # \rm -r skk-10.62a/ # \rm -r emacs-20.7/などすると、df したとき Avail 157104になった。
なんだか、指が viになってしまっていて、カーソルを下に動かそうと j を押したりしてる...。C-nするのがなんだかへんな感じ。
しかし、SKKで日本語入力するときは、日本語辞書が必須だったりする..。lookupもインストールしなきゃ。
eb-2.3.8.tar.gzを ./configure, make, make install でOK。
eblook-1.3.tar.gzを ./configure, make, make install でOK。
辞書は、大辞林v1.0(EPWING)。既に epwutil-1.0を使って、squeezeしてある。
$ cd $ cd bin $ mkdir daijirin $ mkdir daijirin/DGX01 $ mkdir daijirin/DGX01/DATAftpで CATALOGS (2KB)と HONMON (116MB)ファイルをとってくる。CATALOGSのあるディレクトリをカレントディレクトリにして、
$ ebzip --level 2で圧縮する。圧縮levelは、pentium133MHzだし速度の早い level 0(default)のほうがいいかもしれないけど、HDが足らないので level 2にしてみる。ほかのコンソールで dfして確認していると、一時はHD残り容量 4Mまでせまったけど、なんとか圧縮成功。
lookup-1.3.tar.gzを ./configure, make install でOK。
emacsで辞書ひいてみると、「test」と「テスト」でちゃんと引けてる。スピードも全然問題なし(辞書が1つしかないので、辞書を5つ載せてるWindowsより早い)。
ただ <gaiji=ha16c> とかの表示がじゃまなので、appendixを使用しよう。
daijirin-2_0_tar.gzというファイルを ~/bin/appendix に解凍した。
(setq lookup-search-agents '((ndeb "/home/itouh/bin/daijirin" :appendix "/home/itouh/bin/appendix/daijirin-2.0") ))と指定すると <gaiji=ha16c> とかの表示が消えた! これでOK。 ここまでで、df すると 1K-blocks 546527 / Avail 123096。
そうとういい環境になったなり。
ところで、UNIXの人は、パッケージシステムでインストールするようじゃ勉強にならないね、やっぱり自分でソースをコンパイルしなきゃ、といったりするけど、ソースのコンパイルも最近はほとんど configure,make,make install だけでですんでしまうので、パッケージから入れてもそんなに変わんないと思うんだけどな。
次はフォントの変更だ。k14goth-1.4.8.tar.bz2 をダウンロードしてきた。Xが無い環境だと、./configureがerrorでとまる。
しかし、k14goth-1.4.8/tools/bit2bdf.in がPerlスクリプトなので、
$ perl bit2bdf.in <font_src.bit >k14goth.bdf
とすれば動作する。.inという拡張子が気になる場合は、ファイル1行めの @PERL@ をPerlのpathに変えて、.plという拡張子にすればいい。
いくつか文字を置換する。「@FOUNDRY@」は「Misc」に、「@FAMILY@」は「Fixed」に、「JISX0208.1990-0」は「JISX0208.1983-0」に。こうしないと konで使えないので。そのあとで、
# cp /usr/local/lib/fonts/k14.bdf.gz ./k14.bdf.gz_org # mv k14goth.bdf k14.bdf # gzip -9 k14.bdf # cp k14.bdf.gz /usr/local/lib/fonts/こうする。表示できた。ところで、k14goth.bdfを少しmodifyしたpatch。k14goth-1.4.8の font_src.bit形式で、濁点と半濁点を大きくして「」『』の縦棒を短くしたもの。あと、k14gothを KONで使えるようにするためのPerlスクリプトと、7x14rk.bdfの半角円記号をバックスラッシュ、オーバラインをチルダにするpatchも同梱してある。mbi というのは modified by itouhの略。
$ jman jman
しても日本語マニュアルにならない。
$ printenv
で確認しても manpathは正しいようだし、LANG=ja_JP.EUC になっているし。
http://www.jp.freebsd.org/man-jp/howto.html を読むと、ja-manと ja-man-docだけでなく、ja-groffも必要だった。packagesをダウンロードする。
しかしそれでも $ jman jman がうまくいかない。LC_CTYPE=ja_JP.EUC としたら表示されるようになった。
しかし、そうすると今度は /usr/bin/perl を実行したときに警告がでる。LC_ALL=Cに設定しているんだけど、それでもだめみたい。
Mon Dec 18 02:32:10 2000
毎夜 am1:59に 勝手にHDのチェックなどをするので、man cronで調べたら、/etc/crontab にその命令が書かれていたので全部コメントアウトした。
BSDのライセンスについて調べようと思って、googleで「BSDライセンス 説明」と入力したらすぐ説明文があらわれた。
FreeBSD3.5.1でコンソールのキーリピートが遅すぎるので、調べた。 man -k repeatではまともなのがでてこなかった。 man -k key | less で見てみると、 kcon(1)がいい。 しかし使うと、ioctlとかのエラー。 VineLinux2.1.5のtknamazuで調べたら kbdrateコマンドがいいようだ。 FreeBSD3.5.1だと、そのコマンドはないが、kbdcontrolがある。 # kbdcontrol -r fast で早くなった。